MS Access

VBAで英字混じりの引数から数字のみを取り出す関数

投稿日:

たとえば、abcABC123456XYGという引数から、123456のみを取り出したい。
VBAの組み込み関数で、適当なのがありそうだけど、無いみたい。
カスタム関数を作るにも、これはという情報がググっても見つからなかったので、自作してメモ。

[code]
Function FindNumberRegExp(ARG As Variant)
‘汎用 引数から数字のみを取り出して返す
‘ Dim reg As New RegExp ‘// 正規表現クラスオブジェクト
If Not IsNull(ARG) Then
Set reg = CreateObject("VBScript.RegExp")
<pre><code> ‘// 検索条件=数字以外を抽出
reg.Pattern = "[^0-9]"
‘// 文字列の最後まで検索する
reg.Global = True
‘// 指定セルの数字以外の文字を空文字に置き換える
FindNumberRegExp = reg.Replace(ARG, "")
End If</code></pre>
End Function
[/code]

-MS Access

執筆者:

関連記事

no image

AccessのデータをGoogleスプレッドシートに表示する

会社のネットショップで、お客様から電話で荷物の出荷状況について問い合わせがあった場合に、現状ではすぐに対応できていなかった。 荷物の伝票番号は、クロネコヤマトのB2のソフトか、あるいはAccessの業 …

no image

Accessでのキーワード検索(フィルタ)とブックマークの関係備忘録

Accessでのキーワード検索(フィルタ)とブックマークの関係を作るのに苦労したのでここに備忘録。 ポイントは、検索ではなくフィルタを使うことと、BookmarkではなくIDをグローバル変数に保存して …

no image

AccessでIN演算子をクエリの抽出条件に使うのに苦労

やりたいこと: 非連結のチェックボックスでレコードを選択する – hatena chips ・・・のようなこと。 ・フォームのテキストボックスに、’354942-0007474 …

no image

AccessからVBAでブラウザの入力フォームに値をセットする

ExcelWebAddin でWebフォームを自動入力 – Home and Abroad CliborのマクロをPythonの正規表現を使ってフォームに値をセットする – Home and Abro …

no image

サブフォームで苦労

Access覚書。 サブフォームつきのフォームからダイアログ・フォームを呼び出す。 ダイアログフォームのリスト形式のレコードをクリックしたら、呼び出し元のフォームのサブフォームに値を追加して、次のため …