2011-08-22 47 views
1

在下面的代码中,我需要格式化列E & F从行(3)开始作为货币。谢谢!MS Access VBA格式Excel Sheet列作为货币

  Set objApp = CreateObject("Excel.Application") 

      objApp.Visible = True 
      Set wb = objApp.Workbooks.Open("template.xls", True, False) 
      wb.Sheets(1).Rows(3).Delete 
      wb.Sheets(1).Range("A1").Value = title 
      'need to format column E & F as currency 

      Set objApp = Nothing 
+2

为什么具有.xls扩展名的模板?应该是.xlt –

+0

格式化需要停止的列中是否有一行?可以格式化整个列吗?第1行和第2行中是否有已经格式化并且不应该更改的内容? –

+0

是第1行和第2行已经格式化,不应该改变。我只需要从第3行开始的E列和F列。谢谢。 – Bruno

回答

7
Range("E:F").NumberFormat = "$#,##0.00" 

Range("E:F").SpecialCells(xlCellTypeFormulas).NumberFormat = "$#,##0.00" 

Range("E:F").SpecialCells(xlCellTypeConstants).NumberFormat = "$#,##0.00" 
1

如果你只是想格式化2个细胞,它是一条线:

wb.Sheets(1).Range("E3:F3").NumberFormat = "$#,##0.00" 

如果要格式化低于3列所有单元格,并假设这些细胞是不是已经填充,那么你可以使用:

Range("E3:F3").Select 
Range(Selection, Selection.End(xlDown)).Select 
Selection.NumberFormat = "$#,##0.00" 
+0

这些单元格用数字填充,但excel将它们转换为文本。我如何将它们转换回数字,以便将它们格式化为货币? Excel不允许我将文本格式设置为货币。谢谢! – Bruno