ExcelのVBAを用いることで、さまざまな日常のタスクを自動化することができます。この記事では、Excel VBAを利用して、ファイルの関連するイベント情報をファイル名に追加する方法について解説します。
Excel VBAの基本
Excel VBA(Visual Basic for Applications)は、Microsoft Excelに組み込まれたプログラミング言語です。これを用いると、単純作業の自動化だけでなく、高度なデータ分析やレポート作成も可能になります。
そもそも、どこにVBAコードを書いて、どう実行すれば良いのか分からない場合は、以下の記事をご参照ください。
基本コードの概要
Excel VBAを用いると、ファイル名に特定の情報を追加することが容易になります。以下はその基本的なコード例です。
Sub AddEventInfoToFilename()
Dim wb As Workbook
Dim originalName As String
Dim newName As String
Dim eventInfo As String
' 現在のワークブックを取得
Set wb = ThisWorkbook
' 元のファイル名を取得
originalName = wb.Name
' ここでイベント情報を設定する
eventInfo = "Event_2023_09_15"
' 新しいファイル名を生成
newName = Replace(originalName, ".xlsx", "_" & eventInfo & ".xlsx")
' ファイル名を変更
wb.SaveAs newName
End Sub
コードの詳細解説
このコードは、現在開いているExcelファイルの名前に、指定したイベント情報を追加するものです。
1. `Dim`を使用して、必要な変数を宣言しています。
2. `ThisWorkbook`を使用して、現在のワークブックを取得しています。
3. `wb.Name`を用いて、現在のファイル名を取得します。
4. `eventInfo`にイベント情報を設定しています。この例では”Event_2023_09_15″という情報を追加していますが、必要に応じて変更可能です。
5. `Replace`関数を使って、元のファイル名から”.xlsx”を探し、その前にイベント情報を追加して新しいファイル名を生成します。
6. 最後に`wb.SaveAs`を使用して、新しいファイル名で保存します。
応用例
応用例1: 現在の日付を自動的に取得
ファイル名に追加するイベント情報として、現在の日付を自動的に取得して追加することができます。
eventInfo = "Event_" & Format(Now, "yyyy_mm_dd")
このコードは、`Now`関数で現在の日付と時刻を取得し、`Format`関数で”yyyy_mm_dd”の形式に整形しています。
応用例2: ファイル名に特定のキーワードが含まれている場合のみ処理
ファイル名に特定のキーワードが含まれている場合のみ、イベント情報を追加することも可能です。
If InStr(originalName, "Report") > 0 Then
newName = Replace(originalName, ".xlsx", "_" & eventInfo & ".xlsx")
wb.SaveAs newName
End If
このコードは、`InStr`関数を用いてファイル名に”Report”というキーワードが含まれているかをチェックしています。キーワードが含まれている場合のみ、イベント情報を追加してファイルを保存します。
応用例3: 複数のイベント情報を追加
一つのファイル名に複数のイベント情報を追加することもできます。
Dim eventInfo1 As String, eventInfo2 As String
eventInfo1 = "EventA_2023_09_15"
eventInfo2 = "EventB_2023_09_16"
newName = Replace(originalName, ".xlsx", "_" & eventInfo1 & "_" & eventInfo2 & ".xlsx")
wb.SaveAs newName
この例では、`eventInfo1`と`eventInfo2`という2つのイベント情報をファイル名に追加しています。
まとめ
Excel VBAを利用することで、ファイルの関連するイベント情報を簡単にファイル名に追加することができます。上記の基本コードや応用例を参考に、実際の業務での自動化や効率化に役立ててください。
VBAも良いけどパワークエリも良い
VBAの解説をしてきましたが、VBAは正直煩雑でメンテナンス性が悪いです。最近はモダンExcelと呼ばれるパワークエリやパワーピボットへのシフトが進んできています。本サイトでもパワークエリの特集をしており、サンプルデータを含む全11回の学習コンテンツでパワークエリを習得することができます。
クリックするとパワークエリの全11講座が表示されます。
-
【初心者向け】パワークエリ入門:ETLツールを使ってエクセルデータを簡単に整形・統合しよう!(1/11)
-
【実践ガイド】パワークエリでデータ収集:Excel、CSV、PDF、Webデータを簡単に取り込む方法をマスターしよう!(2/11)
-
【総力特集】パワークエリで列操作をマスター:選択、変更、移動、削除、結合、分割の詳細解説&実践テクニック!(3/11)
-
【徹底解説】パワークエリで行操作をマスター!フィルター・保持・削除テクニックと練習用エクセルで実践学習(4/11)
-
パワークエリでデータクレンジング: 文字列結合、0埋め、テキスト関数をマスター(5/11)
-
パワークエリで四捨五入、切り捨て、切り上げをマスターする方法(6/11)
-
パワークエリで効率的なデータグループ化を実現する方法(7/11)
-
パワークエリで時間と日付の計算をマスター!便利な関数を使って効率アップ(8/11)
-
パワークエリで条件別集計をマスターする方法(9/11)
-
Excelパワークエリでクロス集計表とデータベース形式を瞬時に変換する方法(10/11)
-
Excelパワークエリ入門: 効率的なデータ整理をマスターしよう!(11/11)
パワーピボットの記事はありません。興味がある場合は、書籍で学んでみてください
コメント