人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Excelで文字列の先頭にある1?4桁の数字のみを削除したい。
今、A列に下記のようなデータが並んでおりまして、各文字列の先頭に、以下のような数字がくっ付いております。

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


11ぶどう



101瓜



1001りんご


1999ごりら


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



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

●質問者: moon-fondu
●カテゴリ:コンピュータ 学習・教育
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● a-kuma3
●800ポイント ベストアンサー

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

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


moon-fonduさんのコメント
すごいです、うまくいきました!

2 ● Asayuri
●200ポイント


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


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

Asayuriさんのコメント
次回はベスト回答を目指します
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ