【发布时间】:2014-01-04 20:01:03
【问题描述】:
我正在尝试使用此 VBA 代码将 excel 文件列格式从“货币”更改为“文本”,但它没有改变!
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
【问题讨论】:
-
第一个代码对我有用。您面临什么问题?
-
嗨 Siddharth,我不知道为什么我们收到的 excel 文件会自动将所有新插入的 Cols 格式化为货币!
-
我可以使用您的代码将新插入的 EMPTY cols 更改为 Text
-
我可以看一下您期望的数据样本和输出吗?
-
但是对于填充的数据它没有做任何事情
标签: vba excel excel-2007