Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


2593 / 76734 ←次へ | 前へ→

【79783】Re:VBA初心者です。ブック間の列コピーを繰り返す方法について
回答  atori  - 18/4/12(木) 10:09 -

引用なし
パスワード
   ▼マナ さん:

親切なご指導、ありがとうございます…!
分かりやすくてとても助かります(゜-゜)

>1)Application.は省略できます。というか普通は省略します。
>他のapplication例えばWordのマクロでExcelを開くとかだと必須ですが
>ほとんどの場合、不要です。

省略できるのですね…。自分でも改めて調べてみたら、殆ど本来はApplication.が付いているものなんですね。

>2)保存する必要がありますか?
>保存しないで閉じるだけでよいのではありませんか。

確かに保存はしなくても大丈夫です…!

>3)変数wsは、毎回SETしなおす必要があります。
>このままだと、wsは、最初のブックのSheet1のままで、
>すでにブックは閉じた後なので、エラーになると思います。

変数の値の参照元が変わっても、自動で変更されるわけではないのですね!

>4)B列は、2列めなので、Columns(2)、
>C列は、3列めなので、Columns(3)と記述できます。
>繰り返し処理したいときには、このほうがよいです。
>k回目の貼付け先は、Columns(k+1)と記述できるからです。

おお、たしかに数字であれば+1が使えますね…

>以上を踏まえて、修正していただけますか。

Sub exam1()

  Dim wb As Workbook
  Dim ws As Worksheet
  Dim wsx As Worksheet
  
  Set wb = Workbooks.Open("C:\Users\user\Desktop\Sample\1.xlsx")
  Set ws = wb.Worksheets("Sheet1")
  Set wsx = ThisWorkbook.Worksheets("Sheet1")

  ws.Columns(2).Copy
  wsx.Columns(2).PasteSpecial Paste:=xlValues

  wb.Close
  Set wb = Workbooks.Open("C:\Users\user\Desktop\Sample\2.xlsx")
  Set ws = wb.Worksheets("Sheet1")

  ws.Columns(2).Copy
  wsx.Columns(3).PasteSpecial Paste:=xlValues

  wb.Close
  Set wb = Workbooks.Open("C:\Users\user\Desktop\Sample\3.xlsx")
  Set ws = wb.Worksheets("Sheet1")

  ws.Columns(2).Copy
  wsx.Columns(4).PasteSpecial Paste:=xlValues

  wb.Close
  Set wb = Workbooks.Open("C:\Users\user\Desktop\Sample\4.xlsx")
  Set ws = wb.Worksheets("Sheet1")

  ws.Columns(2).Copy
  wsx.Columns(5).PasteSpecial Paste:=xlValues

  wb.Close

End Sub

よろしくおねがいします!
9 hits

【79775】VBA初心者です。ブック間の列コピーを繰り返す方法について atori 18/4/10(火) 15:08 質問[未読]
【79777】Re:VBA初心者です。ブック間の列コピーを繰... マナ 18/4/10(火) 22:53 発言[未読]
【79778】Re:VBA初心者です。ブック間の列コピーを繰... atori 18/4/11(水) 14:10 回答[未読]
【79781】Re:VBA初心者です。ブック間の列コピーを繰... マナ 18/4/11(水) 22:11 発言[未読]
【79783】Re:VBA初心者です。ブック間の列コピーを繰... atori 18/4/12(木) 10:09 回答[未読]
【79786】Re:VBA初心者です。ブック間の列コピーを繰... マナ 18/4/12(木) 20:10 発言[未読]
【79787】Re:VBA初心者です。ブック間の列コピーを繰... atori 18/4/13(金) 11:04 発言[未読]
【79795】Re:VBA初心者です。ブック間の列コピーを繰... マナ 18/4/14(土) 10:33 発言[未読]
【79796】Re:VBA初心者です。ブック間の列コピーを繰... マナ 18/4/14(土) 13:00 発言[未読]
【79799】Re:VBA初心者です。ブック間の列コピーを繰... atori 18/4/16(月) 11:41 発言[未読]
【79801】Re:VBA初心者です。ブック間の列コピーを繰... マナ 18/4/16(月) 20:04 発言[未読]
【79803】Re:VBA初心者です。ブック間の列コピーを繰... atori 18/4/17(火) 10:43 お礼[未読]
【79808】Re:VBA初心者です。ブック間の列コピーを繰... マナ 18/4/17(火) 19:00 発言[未読]
【79817】Re:VBA初心者です。ブック間の列コピーを繰... atori 18/4/18(水) 16:11 お礼[未読]

2593 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free