カンマ区切り文言をユーザー関数で分割(ExcelVBA)

概要

カンマ区切り文言をユーザー関数を用いて自動分割する

◆ユーザー関数説明
=Get_Split(“,”,B$1,$A2)
第一引数:区切り文字
第二引数:取得区切り位置(最小1)
第三引数:区切り文言

↓実装イメージ動画

プログラムを作成した理由

先日、Twitterでの質問を拝見して思い出したのですが、
Excel標準機能を用いて、カンマ区切り文言を分割するのは意外と面倒くさいものです。

VBAを使わないならば、下記2点が定番かと思います。


分割パターン1:データ「区切り位置」で分割

まず最初に思いつくのが、Excelタブにある「区切り位置」を指定して分割する方法です。

ただ、この方法は手動で設定する為、面倒です。
(10秒で出来るだろって?手動対応は1秒もやりたくないのです←)

分割パターン2:Excel関数

次に思いつくのが、Excel関数を駆使して分割する方法です。

これで自動的に分割出来るようにはなりましたが、

(私のExcel関数の組み方の問題かもしれませんが)
1個のカンマを区切るのに3列使っている為、
10個を区切るには30列も必要となってしまいます。
(メンテナンスも面倒…)

分割パターン2:Excel関数」の考えで関数組んでいる時、
Excel関数でもSplit関数があれば簡単なのに!」とないものねだりをしていました。

その際「標準関数で組んでも私以外に修正出来ない(しない)ならば、
ユーザー関数で組めばいいか。その方が(私個人としては)メンテナンスし易いし!」

と思い立ったのがキッカケです。

ソースコード

導入方法

下記リンクから「ユーザー関数で文言分割」をダウンロードする

ダウンロードしたツールのプロパティを開く

「セキュリティ」の「許可する」にチェックし、
「適応」「OK」ボタンを押す

この作業を行う事でツールが動くようになります。

編集履歴

2022/03/12 新規作成

関連記事一覧

PAGE TOP