我正在尝试使用此VBA代码将excel文件列格式从“Currency”更改为“Text”,但它没有更改!
Private Sub Sample()
Dim ws As Worksheet
Dim LastRow As Long, Header As Long
Header = 2 '<~~ Start row for formatting
LastRow = 1000 '<~~ Last Row
Set ws = ThisWorkbook.Sheets("Sheet1")
With ws
With .Range("C" & Header & ":C" & LastRow)
'
'~~> Change format here
'
'~~> Number with 5 decimal places.
.NumberFormat = "@"
End With
End With
End Sub
我也试过了新的空(一般)专栏,但是没有在C上工作。请让我告诉你,即使我尝试插入新专栏,Excel也会自动插入货币格式!有没有其他可能会对此产生影响的设置? 能告诉我如何解决这个问题吗?
由于
更新 我也试过这个没用的代码!
Sub Clear_Cell_Backgroud()
Dim ws As Worksheet
ActiveSheet.UsedRange.Columns("C").NumberFormat = "General"
For Each ws In Worksheets
Cells.Interior.ColorIndex = xlNone
Next ws
End Sub
答案 0 :(得分:1)
您的代码适合我。确保
中的工作表名称正确无误Set ws = ThisWorkbook.Sheets("Sheet1")
同样在你的第二段代码中,当你说Activesheet
时,请确保它是相关的活跃表格。
或者避免使用ActiveSheet
并按照您在第一段代码中所做的操作。声明一个对象并使用它。
如果您正在处理多张纸,那么您的第二个代码可以写成
Sub Clear_Cell_Backgroud()
Dim ws As Worksheet
For Each ws In Worksheets
ws.Columns(3).NumberFormat = "General"
ws.Cells.Interior.ColorIndex = xlNone
Next ws
End Sub