在Excel 2003中,开始记录宏,手动设置单元格数据格式为字符串,结束记录宏,按Alt+F11键,查看刚才记录的宏对应的VBA代码。

解决方案 »

  1.   

    to zhao4zhong1:感谢您的回复。我用的是Excel 2010. 您说的方法也可以用。Excel的代码是:    
    Range("A1").Select
    Selection.NumberFormatLocal = "@"我将其修改为:
        new_sheet.Range("A1:D2").Select
        Selection.NumberFormatLocal = "@"把代码加在赋值之后,或是关闭csv之前,重新打开csv,没有任何改善。依旧无法保存“0”。
      

  2.   

    如果用记事本打开,数据正确。用excel开,数据不正确。这个是为啥?
      

  3.   

    把格式代码放到赋值前试试:
    [code=vb]
       Set new_sheet = new_workbook.Worksheets(1)
        new_sheet.Range("A1:D2").NumberFormatLocal = "@"      
            For j = 1 To 4
            new_sheet.Cells(1, j) = sheet.Cells(1, j)
            new_sheet.Cells(2, j) = sheet.Cells(i + 1, j)
            ‘********************    
             ’Msgbox(new_sheet.Cells(2, j))
            ‘********************
           Next
        /code]