|
▼マナ さん:
>▼atori さん:
>
>>wb.Close
>↓
>wb.Close False
>
>としたほうがよいです。
>・保存しないことがわかりやすい
>・保存するかそうかの確認メッセージが出ない
>からです。
確かにメッセージが出ないのは大きいですね…。
「クリップボードに大きな情報があります」のメッセージも出てしまうので、それに関するものも入れてみました。
本当に分かりやすいご説明ありがとうございます!
教えていただいた方法で作ってみたところ、以下のマクロで1~4.xlsxまでは動作しました…!
Sub Exam1()
'
' exam1 Macro
'
Dim wb As Workbook
Dim ws As Worksheet
Dim wsx As Worksheet
For k = 1 To 4
Set wb = Workbooks.Open("C:\Users\user\Desktop\Exam\" & k & ".xlsx")
Set wsx = ThisWorkbook.Worksheets("Sheet1")
wb.Worksheets("Sheet1").Columns(2).Copy
wsx.Columns(k + 1).PasteSpecial Paste:=xlValues
wb.Application.CutCopyMode = False
wb.Close False
Next k
End Sub
CutCopyModeの前のApplicationや、後ろの=に関しては一回消してみたのですが、エラーメッセージが出てしまいました。
ここから、kをある程度大きな数字にしてエラーメッセージが出たら終了(つまりフォルダに存在するブックの数に達すれば終わり)という形でも良いのですが、自動的にフォルダ内のブック数を判別する方法もあるんですかね…?
|
|