Access VBAで業務システムを開発していると、
- CSVデータを分解したい
- ファイル名から日付を取得したい
- コード体系を分割したい
- 受注データを解析したい
- 文字列を配列化したい
という場面が頻繁に発生します。
Split関数を使いこなせるようになるとCSV取込やデータ連携処理の開発効率が大幅に向上します。
実際の業務システム開発では、CSV取込、ファイル名解析、データ変換などで毎日のように利用される定番関数です。Copilotとの相性も非常に良く、AI時代でも覚えておきたいAccess VBAの重要テクニックの一つです。 [latest-inf…system.com]
- Split関数とは
- 基本構文
- Split関数が重要な理由
- 逆引き① CSVを分割したい
- 逆引き② ファイル名から日付を取得したい
- 逆引き③ ハイフン区切りを分割したい
- 逆引き④ パス情報を分割したい
- 逆引き⑤ 氏名を分割したい
- 配列との関係
- 実務活用例① CSV一括取込
- 実務活用例② 測定データ解析
- 実務活用例③ ファイル監視システム
- 実務活用例④ メールアドレス解析
- 実務活用例⑤ ログデータ分析
- Split利用時の注意点
- SplitとInStrの組み合わせ
- Copilot活用術① CSV解析コード生成
- Copilot活用術② ファイル名解析
- Copilot活用術③ データ変換支援
- 開発現場での利用頻度
- Split関数を覚えるメリット
- まとめ
Split関数とは
Split関数は、
文字列
↓
区切り文字で分割
↓
配列化
を行う関数です。
基本構文
Split(文字列, 区切り文字)
サンプル
Dim arr
arr = Split( "A,B,C", ",")
Debug.Print arr(0)
Debug.Print arr(1)
Debug.Print arr(2)
結果
A
B
C
Split関数が重要な理由
Accessシステムで扱うデータは
CSV
TXT
ログデータ
ファイル名
外部システム連携データ
が非常に多いです。
ほとんどのケースで区切り文字が存在するため、Split関数が役立ちます。
逆引き① CSVを分割したい
最も代表的な利用例です。
Dim arr
arr = Split( "C001,東京商事,1000", ",")
結果
arr(0) = C001
arr(1) = 東京商事
arr(2) = 1000
逆引き② ファイル名から日付を取得したい
例えば
売上_20260906.csv
の場合です。
Dim arr
arr = Split( "売上_20260906.csv","")
結果
arr(0) = 売上
arr(1) = 20260906.csv
ファイル自動取込でよく利用します。 [latest-inf…system.com]
逆引き③ ハイフン区切りを分割したい
設備番号管理などです。
arr = Split( "EQ-2026-0001", "-")
結果
EQ
2026
0001
逆引き④ パス情報を分割したい
フォルダ解析です。
arr = Split( "C:\DATA\CSV\Test.csv", "")
結果
C:
DATA
CSV
Test.csv
逆引き⑤ 氏名を分割したい
利用者管理です。
arr = Split( "山田 太郎", " ")
結果
山田
太郎
配列との関係
Splitは配列を返します。
例えば
Dim arr
のように受け取ります。
件数確認
UBound(arr)
を利用します。
例
Debug.Print UBound(arr)
結果
2
実務活用例① CSV一括取込
CSVデータです。
顧客コード,顧客名,金額
分割
arr = Split( strLine, ",")
登録
strCode = arr(0)
strName = arr(1)
lngAmount = arr(2)
CSV取込システムで定番です。 [latest-inf…system.com], [latest-inf…system.com]
実務活用例② 測定データ解析
設備システムです。
設備番号|測定値|判定
分割
arr = Split( strData, "|")
結果
設備番号
測定値
判定
を取得できます。
実務活用例③ ファイル監視システム
受信ファイルです。
測定結果_20260906.csv
日付取得
arr = Split(strFileName, "")
strDate = Replace( arr(1), ".csv", "")
非常によく利用します。
実務活用例④ メールアドレス解析
メール管理です。
arr = Split( "abc@test.co.jp", "@")
結果
abc
test.co.jp
実務活用例⑤ ログデータ分析
ログ管理です。
2026/09/06,処理開始,正常
分割
arr = Split( strLog, ",")
ログ解析に利用できます。
Split利用時の注意点
区切り文字が存在しない
例えば
arr = Split( "ABC", ",")
結果
arr(0)=ABC
になります。
インデックスエラー
次は危険です。
MsgBox arr(5)
存在しない要素ならエラーになります。
安全な確認方法
If UBound(arr) >= 2 Then
End If
事前確認しましょう。
SplitとInStrの組み合わせ
実務ではセットで利用します。
まず確認
If InStr( strData, ",") > 0 Then
分割
arr = Split( strData, ",")
安全な実装になります。
Copilot活用術① CSV解析コード生成
Copilotへの依頼例です。
Access VBAです。
CSVデータを
Split関数で分割して
テーブルへ登録する
コードを作成してください。
Copilot活用術② ファイル名解析
Access VBAです。
売上_20260906.csv
から日付を取得する
コードを作成してください。
Copilot活用術③ データ変換支援
以下の文字列を
Split関数で解析する
サンプルコードを
作成してください。
AIによるコード生成と非常に相性が良い関数です。 [latest-inf…system.com]
開発現場での利用頻度
実務での利用頻度です。
| 順位 | 用途 |
|---|---|
| 1位 | CSV取込 |
| 2位 | ファイル名解析 |
| 3位 | ログ解析 |
| 4位 | 外部データ連携 |
| 5位 | 文字列加工 |
特にCSVを扱うシステムでは必須レベルです。
Split関数を覚えるメリット
次のような効果があります。
- CSV解析ができる
- ファイル自動取込に活用できる
- ログ管理に利用できる
- 外部システム連携に強くなる
- Copilot生成コードを理解しやすくなる
まとめ
Split関数はAccess VBA開発において非常に利用頻度の高い関数です。
特に
- CSV取込
- ファイル名解析
- ログ分析
- システム連携
- データ変換
などで大きな効果を発揮します。
またCopilotを活用することで、
- Splitコード生成
- CSV解析支援
- 文字列分解ロジック作成
も効率化できます。
派手な関数ではありませんが、実務では毎日のように利用する重要関数です。Access VBA開発者なら確実に使いこなせるようにしておきましょう。


コメント