• ベストアンサー

エクセル 数字のみ残したい

1つのセルに数字と文字が混ざっているのですが、 例えば  08562杯  0003496作文 数字のみ残して、文字だけを消す方法がありますか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.7

No5&6です。 > 特定の列のみでも可能でしょうか。 これを見落としていました。 そうであれば、たとえばA列だけを対象とするなら For Each c In ActiveSheet.UsedRange を For Each c In ActiveSheet.Range("A:A") に変えてください。B列なら("B:B")です。わかりますよね?

chunchan
質問者

お礼

お礼が遅くなり申しわけありません。 悪戦苦闘しながらもなんとかでき、 無事仕事の方も終りました。 度々丁寧なお返事ありがとうございました。 また、なにかありましたら、お願いします。

その他の回答 (6)

回答No.6

No6です。 VBAは初めてですか。それじゃ試しにやってみましょう。 失敗するといけないから最初にちゃんとバックアップを取っておいてくださいね。 1.Altキー + F11キー または、[ツール] メニューの [マクロ] をポイントし、  Visual Basic Editorをクリックします。 2.Visual Basic Editor ウィンドウのメニューから、  [挿入]→[標準モジュール] をクリックします。 3.表示されたコードウィンドウ(白い部分)に先ほどのマクロコードをそのままコピペします。 (Sub TEST からEnd Subまで) 4.もとのワークシートに戻り、[ツール] メニューの [マクロ] →「マクロ」で今貼り付けたマクロ名(TEST)を選択して、実行。 これでめでたく文字が消えたらおめでとう!

回答No.5

エクセルVBAを使えば数値以外すべてを消去できます。 作成してみました。 当方エクセル2000ですがご希望どおりの動きをしました。 Sub TEST() For Each c In ActiveSheet.UsedRange If IsNumeric(c) = False Then xc = Len(c) For n = xc To 1 Step -1 If IsNumeric(c.Characters(n, 1).Text) = False Then c.Characters(n, 1).Text = "" Next n End If Next c End Sub VBAの使用方法が不明な場合は補足してください。

chunchan
質問者

補足

回答ありがとうございます。 VBAの使い方全くわかりません。 詳しく教えていただけませんでしょうか。 特定の列のみでも可能でしょうか。

noname#6306
noname#6306
回答No.4

>1列全ての文字を消せますか? 試されるとよく分かるんですが。1列でも全列でもできます。 ただ,#1にも書いたように文字が多数ならちょっと面倒です。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

A列に半角数字(桁数バラバラ)+全角漢字かな(桁数バラバラ)があるとします。半角は先頭部にあるとします。 B1セルに関数式=LEFT(A1,LEN(A1)*2-LENB(A1)) と入れて、B2以下に、A列のデータの最終行まで複写します。LEN(A1)*2-LENB(A1)はLEN(A1)-(LENB(A1)-LEN(A1)) から来ています。 全角漢字かな(桁数バラバラ)+半角数字(桁数バラバラ)の行も混じっているなら、まず最初にA列でソートして 下さい(注)。先頭部が半角のセルは前半(上部)、全角文字列が先頭部にあるセルは表の下部に固まります。半角が先頭部にあるセルが固まった上部には、上記の関数式を 、全角が先頭部にくるセルには=RIGHT(A3,LEN(A3)*2-LENB(A3)) をいれて、それより下行に複写するとよい。 式の中の「A3」の部分は、実際例では、全角先頭部のセルが初めて現れる行で置き変えること。 (注)後で元の順序に戻したいのなら、ソートする前に、第1行目からの連番を空き列にオートフィルで振っておきます。

noname#6306
noname#6306
回答No.2

ちなみに「置換後の文字列」に何も入力しないままで置換します。

chunchan
質問者

補足

もう少し詳しく教えていただけませんでしょうか。 1列全ての文字を消せますか?

noname#6306
noname#6306
回答No.1

「置換」でできますよ。(ただ文字が多数だと面倒ですが。)

関連するQ&A