【VBA】文字列を数値に変換
解決したいこと
売り上げデータのCSVをエクセルで開いたとき、C列2行目以降の数字がテキスト形式で入力されているので、数値に変換したい。Val関数では空白や¥、カンマ以降の数字は消えてしまうのでそれ以外の方法を教えてください。
自分で試したこと
Val関数で試してみたのですが、空白や¥やカンマ以降が消えてしまうなどうまくいかなかったです。
作りたい形としましては、359,818や324090のようにしたいです。
0
売り上げデータのCSVをエクセルで開いたとき、C列2行目以降の数字がテキスト形式で入力されているので、数値に変換したい。Val関数では空白や¥、カンマ以降の数字は消えてしまうのでそれ以外の方法を教えてください。
Val関数で試してみたのですが、空白や¥やカンマ以降が消えてしまうなどうまくいかなかったです。
作りたい形としましては、359,818や324090のようにしたいです。
¥
を削除してからVal関数でできませんか?
追記
動作確認していないので動くかわかりませんが、イメージだけでも。
以下のような感じですかね。
Dim endRow As Integer
Dim replace As String
endRow = Cells(Rows.Count, 1).End(xlUp) ' 最終行番号取得
For i = 2 To endRow
' 2行目から1行ずつC列の内容を処理していく
replace = Replace(Cells(i, 3), "¥", "")
Debug.Print CInt(replace)
Next i
@lib_steak
Questioner
インポートの時点で、列のデータ形式を指定してみたらどうでしょう?
CSVを取り込んだ時点で、既に数値になっている筈です。
Excelのバージョンによってやり方が異なりますが、「データ」の所にそれっぽいのがあると思います。