VBA(ループ処理)

https://qiita.com/ysnhrk/items/0f85d145f68a49028139
https://bayashita.com/p/entry/show/114
https://tonari-it.com/excel-vba-loop-3situation/

 

 

Sub ボタン_Click()

'画面を更新しない
Application.ScreenUpdating = False
'確認メッセージを表示しない
Application.DisplayAlerts = False


'入力フォルダを取得
Dim path As String
path = "C:\vba\INPUT\"

Dim fso As Object
Dim file As Object
Dim files As Object
Dim sheet As Object

Dim wb As Workbook
Dim sh As Worksheet
Dim i As Long

Set fso = CreateObject("Scripting.FileSystemObject")
Set files = fso.GetFolder(path).files

For Each file In files
Set wb = Workbooks.Open(file)
Debug.Print (wb.Name)

For Each sheet In wb.Worksheets
Set sh = sheet
Debug.Print (sh.Name)

i = 1
Do While sh.Range("A" & i) <> ""
sh.Range("B" & i) = sh.Range("A" & i)
i = i + 1
Loop
Next sheet

Call wb.Close(SaveChanges:=True)
Next file

'確認メッセージを表示する
Application.DisplayAlerts = True
'画面を更新する
Application.ScreenUpdating = True

MsgBox ("処理完了")

End Sub