• ベストアンサー

VBAで文字列を数値に変換したい

A列とE列の文字列になってしまった数値を 数値に変換したく、以下のようなものを作ったのですが、 文字の無いセルまで、数値に変換しようとするので 時間がかなりかかります。 何かよい方法は無いでしょうか? よろしくお願いいたします。 Sub 数値に変換() Range("A:A,E:E").Select For Each xCell In Selection xCell.Value = xCell.Value Next xCell End Sub 使用ソフトEXCEL2000orEXCEL2003

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

  • ベストアンサー
  • onlyrom
  • ベストアンサー率59% (228/384)
回答No.2

>Range("A:A", "E:E") これは、A、B,C,D,E列のことなので A列とE列であれば質問者のようにRange("A:A,E:E")です。 ま、それはそれとして、回答。 Sub Test()  Range("A:A").Value = Range("A:A").Value  Range("E:E").Value = Range("E:E").Value End Sub 以上。  

omusupa
質問者

お礼

ありがとうございます。 値を入れ直すと、数値になるんですね。 大変勉強になりました。

その他の回答 (1)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

With Range("A:A", "E:E") .NumberFormatLocal = "G/標準" .Value = .Value End With こんな感じの事でしょうか?

omusupa
質問者

補足

早速の回答ありがとうございます。 表示形式でできるのですね。 しかし、上記のように入れると(コピペしました) B.C.D列も変換されてしまいます。 With Range("A:A", "E:E")を With Range("A:A,E:E") にすると、A列はうまくいくのですが、E列は すべて同じ数値になってしまいます。 よろしくお願いいたします。

関連するQ&A