質問: VBA初心者です。 同じフォルダ内にある、複数のExcelbookにある値を、同じフォルダにある、●●.xlmsに貼りつけていく作業をマクロで行いたいです。 以下の内容をVBAで行いたい場合のコードを教えてください。 ・フォルダ名は作業ごとに変わります。 ・貼りつけ元のExcelbookの名称に規則性はありません。 例)株式会社ABC.xlsx、有限会社あかさたな.xlsx ・貼りつけ元のExcelbookの数も都度変わりますが、フォルダ内の全てのbookが対象です。 ・どのbookも、『sheet1、C2セル』の値を貼りつけます。 ・貼りつけ先のbook名も都度変わります。 ・1つ目のbookの値は、●●.xlmsのA2セルに貼りつけ、2つ目のbookの値はA3セル、というように、順に、下のセルに貼りつけていきます。 宜しくお願いします。
回答: 単一フォルダの処理です。 ●●.xlmsに以下のコードをマクロ登録して実行して下さい。 Dim WB As Workbook, FileName Dim WS As Worksheet, R Application.ScreenUpdating = False Set WS = ActiveSheet WS.UsedRange.Resize(, 1).Offset(1, 0).ClearContents FileName = Dir(ThisWorkbook.Path & "\*.xlsx") R = 2 Do While FileName <> "" DoEvents Set WB = Workbooks.Open(ThisWorkbook.Path & "\" & FileName) WB.Worksheets("Sheet1").Range("C2").Copy WS.Cells(R, "A") Application.DisplayAlerts = False WB.Close Application.DisplayAlerts = True R = R + 1 FileName = Dir() Loop Application.ScreenUpdating = True