今、A列に下記のようなデータが並んでおりまして、各文字列の先頭に、以下のような数字がくっ付いております。
1りんご
2ごりら
3らっぱ
4パルテノン神殿
・
・
11ぶどう
・
・
・
101瓜
・
・
・
1001りんご
・
・
1999ごりら
・
・
1らっぱ
2パイナップル
3ルイ14世
・
・
と、頭に1~4桁の数字がランダム入ってまして。
なんとか関数やマクロで効率的に、これらの数字を削除できる方法があれば…お教えいただけますと幸いです。
よろしくお願い致します。
こんな感じでどうでしょう。
Sub cut_number() source_col = 1 ' A列 last_row = Cells(Rows.Count, source_col).End(xlUp).Row Set re = CreateObject("VBScript.RegExp") re.Pattern = "^\d{1,4}" For r = 2 To last_row s = Cells(r, source_col).Value s = re.Replace(s, "") Cells(r, source_col).Value = s Next End Sub
標準モジュールに、上記のコードを貼り付けて、cut_number サブルーチンを実行してください。
先頭行は、タイトル行だと想定して、2行目から開始します。
こんな感じでどうでしょう。
Sub cut_number() source_col = 1 ' A列 last_row = Cells(Rows.Count, source_col).End(xlUp).Row Set re = CreateObject("VBScript.RegExp") re.Pattern = "^\d{1,4}" For r = 2 To last_row s = Cells(r, source_col).Value s = re.Replace(s, "") Cells(r, source_col).Value = s Next End Sub
標準モジュールに、上記のコードを貼り付けて、cut_number サブルーチンを実行してください。
先頭行は、タイトル行だと想定して、2行目から開始します。
すごいです、うまくいきました!
1.セルB1に次の関数式を入れてから 最期の行までコピー貼り付けしていきます
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"0",""),"1",""),"2",""),"3",""),"4",""),"5",""),"6",""),"7",""),"8",""),"9","")
2.B列をコピーして A列に値貼り付けすれば ご希望のデータが出来上がります
ありがとうございます!数字が全部消えました(^^;)
先頭以外の、文字列の中の数字も消してしまうのですね。
次回はベスト回答を目指します
すごいです、うまくいきました!
2018/05/26 20:02:11