VBA文字列を分割して配列を作成 Split

投稿者: | 2021年9月24日
excelアイコン

エクセルバージョン

マイクロソフト365

 

今回は文字列を区切って配列にできるSplit関数についてです。

それではいってみましょう!

 

Split関数

概要

文字列を分割して、1次元配列を返します。

構文

Split(対象文字[,区切り文字] [,配列数] [,区別] )

引数

Split必須/省略可詳細
対象文字
(第1引数)
必須対象の文字やセルを指定。
区切り文字
(第2引数)
省略可分割するための文字や記号を指定。
・省略 → 半角空白文字(” “)
配列数
(第3引数)
省略可配列数を指定。
・省略(全部) → -1。
区別
(第4引数)
省略可区別の種類を指定(英字の大文字と小文字を区別)。
・省略 → 区別する。
・vbBinaryCompare → 区別する。
・vbTextCompare → 区別しない。

 

サンプル

全て標準モジュールにコピペで即試せます(*゚▽゚)ノ

Debug.Print

 

応用

電話番号を連結

電話番号のハイフン(-)を分割記号にした例。

結果

3つの配列に分割して格納後、数字を連結して取得。

split_tel

 

複数の電話番号を連結

結果

B列に複数の電話番号を連続で連結して出来上がりです(*^^)v

split_tel2

 

メールの@マークの後ろのドメインを取得

メールの@マークを分割記号にした例。

結果

yahoo.co.jp

メールの@マークの後ろのドメインのみ取得できます。

split_mail1

 

複数のメールの@マークの後ろのドメインを連続取得

結果

B列に複数のメールの@マークの後ろのドメインのみ連続して取得できます(^o^)o

split_mail2

 

MidとInstrを使用したメールドメイン抜き出しは下記

メール@の後ろ(ドメイン)を抜出し取得する

 

CSVファイルをセルに書き出す

カンマ(,)を分割記号にしてセルに書き出す例。

結果

CSVファイルのデータを1セルずつ書出していきます\(^^)/

split_csv

 

その他のファイルの書出しは下記。

ファイルを読み込みセルに書き出す

 

まとめ

頭を捻って考えれば、まだまだできることは沢山あるとは思いますが、今回は電話番号、メール、CSVを例に応用してみました(^o^)o

以上です。