VBA_セルの切り取り貼り付け

切り取って貼り付ける範囲が大きく、ファイル数も多いのでVBAに挑戦2。

Sub move()
    Workbooks.Open "絶対パス \ hoge.xlsx"
    
    Workbooks("hoge.xlsx").Sheets("test001").Range("C1:C7") _
    .Cut Destination:=Workbooks("hoge.xlsx").Sheets("test001").Range("E1")
   
    ActiveWorkbook.Save
   
    Workbooks("hoge.xlsx").Close
End Sub

 

コード説明
 Range("C1:C7") _

 (半角スペース)_ をつけると

改行しても1つの処理として認識してくれる

VBAは改行されるまでが1つの処理

Range("C1:C7") セルC1からC7の指定
 Range("E1")  E1 の位置にC1:C7 のデータを貼り付け
Sheets("test001")  test001はシート名

 

  複数のファイル複数のシートを扱い、For 文で回す時
      ファイル名シート名記述する必要がある。
      無いと、処理したいファイル・シートとは違う箇所が対象となる

      (↑実はファイルでは試してない。シートで実施。ファイルも多分同じ)

 

      一つのファイル、一つのシートを扱う時、.Cut 以降においては
      WorkBooks("hoge.xlsx").Sheets("test001")は省略可能。

 

for文で回せばいいが、ファイルサイズが非常にデカイので時間かかる気がする。

もっといい方法があればよいのだが。

 

一先ず以上。

 

koshinran.hateblo.jp