MS Access

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

投稿日:

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

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

-MS Access

執筆者:

関連記事

no image

Accessで複数の用紙サイズ・向きの帳票を印刷したいが2枚出るとか、思ったようにならないなら

私がAccessで作った会社の業務管理システムは、帳票類がほとんどA4縦の用紙で出力されるようになっている。 しかし、一部の帳票、というか封筒は、長三サイズと、角6サイズをの用紙にしないと、プリントが …

no image

Accessでフォームフィルタの結果をExcelにエクスポートする

ちょっと、苦労した。 Private Sub cmdDMデータ作成_Click() On Error GoTo Err_cmdDMデータ作成_Click Dim rstf As String Dim …

no image

Accessクエリでのフィールド名は同じので重複できる

Accessではクエリの中で同じフィールド名を使えない! ・・・とずっと思っていた。 なので、テーブルで使っているフィールド名でクエリの結果を出す必要があった際には、クエリを二つ作ってそれぞれ前処理 …

no image

客先で動かしているAccessとFAXの連携システムが昨日から止まっている

これまでのWindowsXP+OutlookExpressであれば問題なかった。 しかし、OSはWindows7になってしまい、メールはWindowsLiveメールになってしまった。 そしてWindo …

Office365にはSharePointリストという表データが保存できる機能がありAccessのリンクテーブルにできる

Office365では、AccessのWebアプリを作れる。 それで今、勉強しているのだが、Office365にはSharePointリストという表データが保存でき、それをAccessのリンクテーブル …