我想使用宏来更改长长的单元格列。单元格是数字或文本。但是,数字存储为文本,我想转换它们。我想要
`Range("A1").Value = Int(Range("A1").Value)`
,这在将作为文本存储的数字转换为数字时工作正常,但显然它不适用于文本值且没有数字的值。如何设置命令以查看是否可以进行此转换呢?
答案 0 :(得分:2)
使用Range.TextToColumns method一次完成所有操作。 VBA的开销将负责错误控制。
ay.gsub(/^[aeiou](\w+)*/, '\2\1way')
pig_latin('map') #=> 'map'
pig_latin('aye') #=> 'yeway'
答案 1 :(得分:1)
使用IsNumeric
。为避免空格转换为零,请检查空白。
if IsNumeric(Range("A1").Value2) and Not IsEmpty(Range("A1")) then
Range("A1").Value = Int(Range("A1").Value)
end if
答案 2 :(得分:1)
我认为应该这样做:
With Range("A:A") ' column A
.NumberFormat = "General"
.Value = .Value ' Excel should auto convert the strings to numbers
End With