Excel 格式不会自动更改
我想将格式从日期改为数字,但格式不变。我必须在每个单元格上单击两次才能更改它 我在这里找到了一个文本到列的解决方案。不幸的是,录制的代码不起作用Excel 格式不会自动更改,excel,vba,Excel,Vba,我想将格式从日期改为数字,但格式不变。我必须在每个单元格上单击两次才能更改它 我在这里找到了一个文本到列的解决方案。不幸的是,录制的代码不起作用 Worksheets("Data for LN").Range("i2:i" & datarange).Select Selection.NumberFormat = "0.00" Selection.TextToColumns Destination:=Range("I2"), DataType:=xlDelim
Worksheets("Data for LN").Range("i2:i" & datarange).Select
Selection.NumberFormat = "0.00"
Selection.TextToColumns Destination:=Range("I2"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
:=Array(1, 1), TrailingMinusNumbers:=True
您知道如何更改它吗?请查看文档,特别是
FieldInfo
参数<代码>数组(1,1)不是您想要的。首先要做的是删除该。选择调用,声明工作表
和范围
局部变量,分别将它们分配给工作表(“LN数据”)
和工作表.Range(“i2:i”和datarange)
,然后使用theRange
和theSheet.Range(…)
而不是Selection
和implicitActiveSheet
恐怕您需要重新编写代码,以循环遍历某个范围内的每个单元格,并分别修改其数据类型。VBA在记录TextToColumns
功能方面存在一些严重问题,从头开始编写它甚至更困难。参见Rory的解决方案,了解一些替代方案。