テキストファイルの指定に従ってExcelのシートをコピーする
Excelで集計処理をするのに、ワークシートをたくさんコピーする必要があったので、マクロを書きました。テキストファイルにワークシートの名前を列挙し、そのテキストファイルに従ってワークシートをコピーするマクロです。
ワークシート名を列挙したファイル名は、"branches.txt"固定です。アクティブなワークシートをコピーします。あらかじめ、ブックに"集計"という名前のワークシートを作っていることを前提にしています。
' アクティブ・ワークシートをコピーするマクロ ' コピー先のシート名はテキストファイル(branches.txt)から読み込む Sub copysheet() Dim buf As String, n As Long, fPath As String fPath = ActiveWorkbook.Path & "\" & ".\branches.txt" Open fPath For Input As #1 Do Until EOF(1) Line Input #1, buf buf = Trim(buf) ' 先頭と末尾の空白類を削除 If Len(buf) > 1 Then n = n + 1 ActiveSheet.Copy before:=Sheets("集計") ' 「集計」シートの前に追加 ActiveSheet.Name = buf End If Loop Close #1 MsgBox ("作成したシート数 = " & Str(n)) End Sub