• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBA 別シートからコピー貼付け(複数列))

VBA 別シートからコピー貼付け(複数列)

このQ&Aのポイント
  • 別シートからコピー貼付け(複数列)をしたいのですが,同一シートからのコピー貼付けはネットから以下のマクロでできました。
  • しかし,別シートsheet1からsheet2ヘコピーで修正しましたが,「アプリケーション定義またはオブジェクト定義のエラーです。」となります。
  • どなたかご教授よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#203218
noname#203218
回答No.1

VBAの一例です。 Sub test() Dim i As Long Dim MaxR As Long With Sheets("sheet1") MaxR = .Cells(Rows.Count, 5).End(xlUp).Row For i = 2 To MaxR Step 2 Sheets("sheet2").Cells(i + 1, 2).Resize(, 84).Value = .Cells(i, 5).Resize(, 84).Value Next i End With End Sub range("a1:c1").value=range("a10:c10").valueはVBAで可能なのですが、cellsで複数セル範囲を指定して.valueを利用する事はVBAでは出来ないようです。 先頭のセルをcells(,)で指定してresizeで行数、列数を指定する構文になるようです。 SUB testでは 先頭セルから84列分に数値を入力する事にしています。 データ入力している最大行の取得を変数MaxRとしています。E列は5番目なので.Cells(Rows.Count, 5).End(xlUp).Rowは5としています。エクセル2003までは最大行数は記載されてる6.5万行でしたが、2007以降は10万行以上となっています。 Cells(Rows.Count, 5).End(xlUp).Rowは2003以前、2007以降どちらでも利用できます。

mino33mino
質問者

お礼

出張で連絡が遅くなり申し訳ございません。 動作を確認した結果思いどおりの結果を得ることができました。大変ありがとうございました。

関連するQ&A

専門家に質問してみよう