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

f:id:yshgs_elec:20210219224945p:plain

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

f:id:yshgs_elec:20210219222734j:plain

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

 

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

スポンサーリンク

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

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

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

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

 

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

スポンサーリンク

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

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

 

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

f:id:yshgs_elec:20210219223519j:plain

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

f:id:yshgs_elec:20210219223947j:plain

◆ファイルを一括コピーする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

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

f:id:yshgs_elec:20210219224257j:plain

スポンサーリンク

おわりに

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

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

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

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

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

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

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

↓ 応援ボタン

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

それではまた!

コメント

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