|
>名無しさん
ご返答ありがとうございます。
説明がへたくそですみません。
両方のパターンで以下のようにして試してみました。
1.Columns(1).NumberFormatLocal = "#_ "のパターン
Private Sub changeNumber()
Dim i As Long
Dim s As Range
Set file2 = Workbooks("AAA.xls")
For i = 1 To file2.Worksheets("sheet").Range("A65536").End(xlUp).Row 'A列全てを検索対象とする
file2.Worksheets("sheet").Range("A" & i).NumberFormatLocal = "#_ "
Next i
End Sub
2.ゼロでないときだけ処理するパターン
Private Sub changeNumber()
Dim i As Long
Dim s As Range
Set file2 = Workbooks("AAA.xls")
For i = 1 To file2.Worksheets("sheet").Range("A65536").End(xlUp).Row 'A列全てを検索対象とする
Set s = file2.Worksheets("sheet").Range("A" & i)
file2.Worksheets("sheet").Range("A" & i) = Val(s)
Next i
End Sub
1.の場合は、文字列の書式のセルは数値には変わりませんでした。
2.の場合は、文字列の書式のセルは数値に変わったのですが、やはりセル「A1」が「0」に書き換わっています。
少し補足させていただきます。
やりたいこととしては、左上に緑色の三角でエラーが出ているセルの
エラー内容が「数値が文字列として保存されています」となっているので
書式を数値にするVBAを作成したいです。
以上、よろしくお願いいたします。
|
|