• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAで文字列を数値に変換したい)

VBAで文字列を数値に変換する方法

このQ&Aのポイント
  • VBAを使用してExcelファイルの文字列形式の数値を変換する方法について解説します。
  • エラー チェック機能や関数を活用することで、Excelファイル内の文字列を数値に変換することができます。
  • 具体的な手順や参考URLを提供し、VBAを使用してA~G列の文字列データを一括で数値化する方法について説明します。

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

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

A1~G20までのセルに文字列形式の数値があるとすると、 For A=1 To 7 For B=1 To 20 Cells(A,B)=Val(Cells(A,B).Value) Next B Next A で、いけます。 ちなみに、文字列形式の暦値は、DateValueにて暦数値になります。

mellow91
質問者

お礼

勉強になります!ありがとうございます、感謝感謝です!

その他の回答 (3)

  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.3

止めはしませんが、あまり意味は無いかもしれません。 一例として Sub sample() Dim c As Range     For Each c In Range("a1").CurrentRegion         If IsNumeric(c) Then             c = c * 1             c.NumberFormatLocal = "G/標準"         End If     Next End Sub

mellow91
質問者

お礼

勉強になります!ありがとうございます、感謝感謝です!

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

sub macro1() range("A:G").numberformatlocal = "G/標準" range("A:G").value = range("A:G").value end sub みたいな。

mellow91
質問者

お礼

勉強になります!ありがとうございます、感謝感謝です!

  • FEX2053
  • ベストアンサー率37% (7991/21371)
回答No.1

別にいちいち数値に直さなくても、そのまま数値データとして 使えますけど? 要は「見た目だけの問題」なんですが?? 数値を文字にするなら、それなりの作業が必要ですけど、 文字扱いになってる数値なら、そのまま=A1+20とかやっても 数値になって処理されるはずです。 これはVBAの中でも同じで、別にA=cLng(Range("A1").Value) とかやってやらなくても、A=Range("A1")で取得できます。

mellow91
質問者

お礼

勉強になります!ありがとうございます、感謝感謝です!

関連するQ&A