| 
    
     |  | ▼vba初心者 さん: 横から失礼致します。
 私の読み落しかも知れませんが肝心なことが書かれていないような?
 「0」に書き換わるセル「A1」には何が入っているのでしょうか。
 例えば数値に置き換わらない文字列「ABC」等は「0」になりました。
 これが分かれば解決の糸口になるのではないでしょうか。
 
 >>名無しさん
 >
 >ご返答ありがとうございます。
 >説明がへたくそですみません。
 >
 >両方のパターンで以下のようにして試してみました。
 >
 >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を作成したいです。
 >
 >以上、よろしくお願いいたします。
 
 
 |  |