• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCELマクロについて)

Excelマクロでデータをコピーして貼り付ける方法について

このQ&Aのポイント
  • Excelのマクロについて、提供データの指定した列(E列)からブランク以外のデータをコピーし、別のシート(Workシート)の指定した列(C列)に貼り付ける方法について教えてください。
  • 具体的には、指定した列(E列)から3行目以降のデータをコピーし、Workシートの指定した列(C列)の2行目から貼り付けたいです。
  • 現在、下記のマクロを使用して実装しようとしていますが、正しく動作していないようです。Cellsの使い方についても教えていただきたいです。

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

  • ベストアンサー
  • Be_DaMa
  • ベストアンサー率33% (2/6)
回答No.1

【Cellsについて】 Cellsはセルの位置を行番号と列番号で表します。 Cells(3,5) →セルE3 です。 3:行番号 5:列番号(1 = A,2 = B,・・・,5 = E,・・・です) なので、例えば gyo = 5 の場合 Range(Cells(3,5),Cells(gyo,5)) は Range(Cells(3,5),Cells(5,5)) で Range("E3:E5")となり、セルE3からE5までです。 brank = Worksheets("提供データ").Cells(gyo, 5).Text は brankという変数に「提供データ」という名前のシートのセルE5の値を代入する意味です。(gyo = 5 の場合) マクロではE3からブランクまでのデータをコピーして 貼付けるようになっていますので ブランクの後にまたデータがある場合はコピーしていません。 ブランクまでを張付けるなら Range(Cells(3, 5), Cells(gyo, 5)).Select (10行目) を Range(Cells(3, 5), Cells(gyo-1, 5)).Select にするとよいかと思います。