【VBA】指定したファイルを名前を変えながら一括コピーする方法!

f:id:yshgs_elec:20210219224945p:plain

この記事では、以下の画像に示しているように、あるファイルを指定した名前に一括コピーする方法をご紹介していきます。

テンプレートファイルを指定した名前で一括コピーする作業イメージ図

作成したテンプレートファイルを大量コピーする際などにご活用ください。

 

それでは早速やっていきます!

スポンサーリンク

VBA上でファイルをコピーする方法

まずは基本となる、VBA上でファイルをコピーする方法を簡単にご紹介します。

FileCopy A , B
A:コピーされるファイルのフルパス
B:コピー後のファイルのフルパス

この方法を活用し、あるファイルを大量にコピーしてみようと思います。

 

実際の使い方を見てみましょう。

スポンサーリンク

指定ファイルを大量コピーするVBAコード

それでは冒頭に説明したようにあるファイルを大量コピーしていきましょう。

 

今回はA2セルに記入されているファイルを、A5セル以降に記入されているファイル名としてコピーしていこうと思います。

コピー後のファイル名をエクセルシートに記入した結果

また、以下の画像のようにこれからコピーされるファイルとマクロを実行するファイルは同じ場所に保存されていることを想定してコードを書いています。

ファイル構成の説明

◆ファイルを一括コピーするVBAコード

Sub file_copy()
    '変数の型宣言
    Dim base_file_name As String
    Dim after_file_name As String
    Dim i As Integer
    'コピーされるファイル名を記憶させる
    base_file_name = Cells(2, 1)
    i = 0
    'コピー作業を繰り返す
    Do Until Cells(5 + i, 1) = ""
        after_file_name = Cells(5 + i, 1)
        FileCopy ThisWorkbook.Path & "\" & base_file_name, ThisWorkbook.Path & "\" & after_file_name
        i = i + 1
    Loop
End Sub

このコードを実行すると、以下のようにセルに記入した名前のファイルが大量発生しているはずです。

マクロ実行後のフォルダの中身確認

スポンサーリンク

おわりに

というわけで今回は指定したファイルを別ファイル名で大量コピーする方法をご紹介しました。

今回はエクセルファイルが対象でしたが、その他の形式でもコピーできますので、ぜひご活用ください。

 

さらに今回大量コピーしたファイルたちを別々のフォルダに振り分けていく、なんて作業も予定されてたりするのではないでしょうか?

そんなときに非常に便利なフォルダをまたぎながらファイルをコピーしていくマクロを以下でご紹介しています。

興味があればぜひこちらもご覧ください。

【エクセルVBA】エクセル上でデータ整理(コピー&フォルダ移動)するマクロ

 

このように、私のブログではエクセルスキルはもちろん、様々なプログラミングスキルを紹介しています。

 

今は仕事中で時間がないかもしれませんが、ぜひ通勤時間中などに他の記事も読んでいただけると嬉しいです。

⇒興味をもった方は【ヒガサラ】で検索してみてください。

確実にスキルアップできるはずです。

最後に、この記事が役に立ったという方は、ぜひ応援よろしくお願いします。

↓ 応援ボタン

にほんブログ村 IT技術ブログ VBAへ
にほんブログ村

それではまた!

コメント

  1. 初心者A より:

    初めまして。毎回ファイル名または番号が不正ですというエラーが発生するため、お助け頂きたいです。デバッグを見るとFileCopy〜の構文のところになっているのですが、原因分かりますでしょうか?サンプルのファイルと同じ名前でテストしているのですが。。

    • ヒガシ ヒガシ より:

      ご質問ありがとうございます(^^)
      マクロファイルもコピーするファイルと同じフォルダに置かれてますかね?

      • 初心者A より:

        早速ありがとうございます(>⁠_⁠<⁠⁠)
        同じフォルダに置いております!
        ただ、フォルダというのがSharePointOnline内のフォルダを使用しておりまして、それが原因でしょうか…?通常のエクスプローラー内のフォルダで試したところ、ちゃんとマクロが実行され、無事にファイルが複製されました!

タイトルとURLをコピーしました