- ベストアンサー
VBAで文字列を数値に変換したい
A列とE列の文字列になってしまった数値を 数値に変換したく、以下のようなものを作ったのですが、 文字の無いセルまで、数値に変換しようとするので 時間がかなりかかります。 何かよい方法は無いでしょうか? よろしくお願いいたします。 Sub 数値に変換() Range("A:A,E:E").Select For Each xCell In Selection xCell.Value = xCell.Value Next xCell End Sub 使用ソフトEXCEL2000orEXCEL2003
- みんなの回答 (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 以上。
その他の回答 (1)
- n-jun
- ベストアンサー率33% (959/2873)
With Range("A:A", "E:E") .NumberFormatLocal = "G/標準" .Value = .Value End With こんな感じの事でしょうか?
補足
早速の回答ありがとうございます。 表示形式でできるのですね。 しかし、上記のように入れると(コピペしました) B.C.D列も変換されてしまいます。 With Range("A:A", "E:E")を With Range("A:A,E:E") にすると、A列はうまくいくのですが、E列は すべて同じ数値になってしまいます。 よろしくお願いいたします。
お礼
ありがとうございます。 値を入れ直すと、数値になるんですね。 大変勉強になりました。