Excelで文字列の先頭にある1~4桁の数字のみを削除したい。

今、A列に下記のようなデータが並んでおりまして、各文字列の先頭に、以下のような数字がくっ付いております。

1りんご
2ごりら
3らっぱ
4パルテノン神殿


11ぶどう



101瓜



1001りんご


1999ごりら


1らっぱ
2パイナップル
3ルイ14世



と、頭に1~4桁の数字がランダム入ってまして。
なんとか関数やマクロで効率的に、これらの数字を削除できる方法があれば…お教えいただけますと幸いです。
よろしくお願い致します。

回答の条件
  • 1人10回まで
  • 登録:
  • 終了:2018/05/27 03:10:09
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:a-kuma3 No.1

回答回数4973ベストアンサー獲得回数2154

ポイント800pt

こんな感じでどうでしょう。

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行目から開始します。

id:moon-fondu

すごいです、うまくいきました!

2018/05/26 20:02:11

その他の回答1件)

id:a-kuma3 No.1

回答回数4973ベストアンサー獲得回数2154ここでベストアンサー

ポイント800pt

こんな感じでどうでしょう。

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行目から開始します。

id:moon-fondu

すごいです、うまくいきました!

2018/05/26 20:02:11
id:Asayuri No.2

回答回数309ベストアンサー獲得回数65

ポイント200pt

 
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列に値貼り付けすれば ご希望のデータが出来上がります
 

id:moon-fondu

ありがとうございます!数字が全部消えました(^^;)
先頭以外の、文字列の中の数字も消してしまうのですね。

2018/05/26 20:01:52
id:Asayuri

次回はベスト回答を目指します

2018/05/27 05:51:09

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません