プロが教える店舗&オフィスのセキュリティ対策術

Excel VBA 指定フォルダに格納されている全エクセルファイルに指定シートを挿入する方法についてご教授をお願いします。

やりたいこと(例)

C:Usersに作られている保管フォルダという名称フォルダに格納されている全エクセルファイルにbook1 シート名:コピーシートというシートの挿入を行いたい。
ネットで調べると一括にするサンプルコードは色々あったのですが上記のやりたいことについてはヒントが見つからず難儀しています。
お手数ですが、お詳しい方 ご教授をお願いします。

A 回答 (1件)

こんにちは


>ネットで調べると一括にするサンプルコードは色々あったのですが上記のやりたいことについてはヒントが見つからず難儀しています。

コピー挿入の逆を行えば良いと思いますよ

一例 処理の流れ
対象のフォルダパスを作ります
ファイル名を拡張子とワイルドカードなどで作成
Dir関数でフォルダ内のファイルを取得
対象をWorkbooks.Openで開き
コピーシートをコピー
対象のブックにコピーシートを挿入
対象を閉じる
Dirで取得できなくなるまで繰り返し

book1がマクロ実行ブックの場合の例

Dim FolderName As String
Dim xlfile As String
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = True Then
FolderName = .SelectedItems(1) & "\"
Else
Exit Sub
End If
End With
' フォルダパス決め打ち
' FolderName = ""
xlfile = Dir(FolderName & "*.xls*") 'フォルダ内のブックを取得
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Do While xlfile <> ""
'ブックを開く
With Workbooks.Open(FolderName & xlfile)
'コピーシートを一番右に挿入
ThisWorkbook.Worksheets("コピーシート").Copy After:=.Worksheets(.Worksheets.Count)
.Close SaveChanges:=True
End With
xlfile = Dir()
Loop
Application.DisplayAlerts = True
Application.ScreenUpdating = True
    • good
    • 0
この回答へのお礼

無事対応する事ができました。 ご対応感謝します。

お礼日時:2022/08/22 15:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!