VBA(マクロ)を利用して数字だけを削除したい

VBA(マクロ)を利用して数字だけを削除したい

数字だけを削除したい

ご提供頂くデータの中に、文字列に数字が混ざってしまい、数字のみを削除したい場合があります。

品番 品名
00001 製品名製品名25製品名
00002 製品名234製品名製品名
00003 製品名製品名123製品名

数字のみを削除する方法は英字だけを削除したいでご紹介した方法と同様、VBA(マクロ)の正規表現を使う方法をおすすめします。

正規表現とは特定の文字だけではなく文字種や文字列に対して検索や置換をするための表現方法です。 ExcelのVBAはこの正規表現に対応しているため、正規表現で英字を定義し、削除(置換)していくことが可能です。

VBAでの数字削除方法

VBAの編集方法やファイル内でのマクロ使用許可についてはこの記事内では割愛させていただきます。 以下は、文字列から英字を削除するサンプルのコードです。

対象文字列(引数1):sourceTxt 置換結果(引数2):resultTxt

Sub FindAlphabetRegExp(sourceTxt, resultTxt)
    Dim re As New RegExp
    re.Pattern = "[0-9]"
    re.Global = True
    resultTxt = re.Replace(sourceTxt, "")
End Sub

このサブルーチンを呼び出すことで、半角数字を置換できることができます。 全角の数字も置換したい場合は、re.Patternの中身に、全角の数字を定義すると置換することが可能です。

Massteryで対応するとこうなる

Massteryでは、項目値から数字を削除する関数を用意しています。

Massteryで数字を削除する例

指定内容

変換対象カラム
Massteryはフォーマットの項目単位で変換を指定しますので、入力ファイルの項目(列の名称)を指定します。今回は項目の状態を調べて出力する項目を新たに設けて割り当てるようにします。
変換方法
変換対象カラムに値またはロジックを適用する「=」を指定します。
値または変換ロジック
trim_digit(“品名”) ※関数名は大文字/小文字どちらも指定可能です。

TRIM_DIGIT関数式の解説

Massteryでの書式は以下になります。

TRIM_DIGIT("参照先カラム名称")

引数は1つになります。

引数

TRIM_DIGIT("品名")

数字を削除したい項目を指定します。カラム名称を指定する場合は、ダブルクォーテーションで囲います。

如何でしたでしょうか。 数字の削除以外にもMassteryでは商品データの整備に必要なオリジナルの関数を多数用意しております。 ご興味がございましたら、未公開の関数をご案内いたしますので、是非お問い合わせください。

関連記事

同じカテゴリの記事

お問い合わせ

Massteryのより詳しい情報、ご対面でのご案内をご希望の方は是非お問い合わせください。
下記のお問い合わせフォームよりお申し込み頂ければ担当の営業からご連絡いたします。

運営会社 フォルシア株式会社

Close Bitnami banner
Bitnami