Excel VBAを使ってファイルの関連するイベント情報をファイル名に追加する方法

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講座が表示されます。

パワーピボットの記事はありません。興味がある場合は、書籍で学んでみてください

コメント

コメントする

目次