訪問して頂きありがとうございます。まさふくろーです。
この記事では、数字だけを抽出するオリジナルの関数を作成する方法をご紹介します。
目次
数字だけを抽出するオリジナルの関数を作成する

作成手順
VBEの起動
起動方法は、VBE(Visual Basic Editor)の起動手順まとめをご覧ください。
標準モジュールの作成
①「挿入」を選択⇒②「標準モジュール」を選択し、標準モジュールを作成します。

VBAコードの入力
VBE(Visual Basic Editor)のピンク枠の部分に、VBAコードを入力していきます。

入力するコードは以下になります。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
Function GetNumber(Target As String) As Variant Dim i As Integer Dim NowPos As Integer Dim buf As String NowPos = 1 buf = "" For i = 1 To Len(Target) If IsNumeric(Mid(Target, NowPos, 1)) = True Then buf = buf + Mid(Target, NowPos, 1) End If NowPos = NowPos + 1 Next If buf = "" Then GetNumber = "" Else GetNumber = CDbl(buf) End If End Function |
| 3 | 繰り返し処理用の変数「i」を用意。 |
| 4 | 対象文字列の先頭から1文字ずつチェックするための変数「NowPos 」を用意。 |
| 5 | 対象文字列から数値のみを保持しておく変数「buf 」を用意。 |
| 7,8 | 変数の初期化。 |
| 10 | 対象文字列の1文字目~文字列の長さ分、処理を繰り返す。 |
| 12 | 対象文字列を1文字ずつ、数値かどうかをチェックする。 |
| 13 | チェックした結果、数値だった場合、変数に格納。 |
| 16 | 1つずつカウントアップし、チェックする文字列を動的に変える。 |
| 20~24 | 対象文字列に数値が含まれているかによって、戻り値の値を変える。 |
VBAコードの保存
「ファイル」タブをクリックします。

「名前を付けて保存」を選択し、ファイル保存画面を起動します。

①ファイル名を入力⇒②「Excel マクロ有効ブック(*.xlsm)」を選択⇒③「保存」ボタンをクリックします。

関数の呼び出し
◆直接入力の場合
「B2」セルに「=GetNumber(A2)」と入力します。

Enterキーを押します。

◆「関数の挿入」機能を使用する場合
「B2」セルを選択します。

①「数式」タブをクリック⇒②「関数の挿入」をクリックします。

①関数の分類から「ユーザー定義」を選択⇒②対象の「関数」を選択⇒③「OK」をクリックします。

①「チェックする文字列のセル」を指定⇒②「OK」をクリックします。

オリジナル関数をどのファイルからでも使えるようにする
アドインファイルの作成
①「ファイル」タブをクリック⇒②「名前を付けて保存」を選択します。

①ファイルの種類から「Excel アドイン」を選択⇒②「ファイル名」を入力⇒③「保存」をクリックします。

アドインファイルの取り込み
新しいブックを起動します。

①「ファイル」タブをクリック⇒②「オプション」をクリックします。

①「アドイン」をクリック⇒②「設定」をクリックします。

①「作成したアドインファイル」にチェック⇒②「OK」をクリックします。

すると、どのファイルからでも、オリジナルの関数が使えるようになります。

最後まで読んでいただき、ありがとうございました!

