ヒガサラblog

サラリーマン向けに、仕事を効率良く進めていくための方法についてご紹介しています。プログラミングから対人スキルまでを幅広く掲載中。

ヒガサラblog

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

f:id:yshgs_elec:20210219224945p:plain

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

f:id:yshgs_elec:20210219222734j:plain

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

 

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

 

スポンサーリンク

 

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

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

 

◆FileCopy メソッド

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へ
にほんブログ村

 

それではまた!