我想使用宏來改變長長的單元格列。單元格是數字或文本。數字,雖然,存儲爲文本,我想轉換它們。我想喜歡如何在執行vba之前檢查命令是否可行?
`Range("A1").Value = Int(Range("A1").Value)`
,這將被存儲爲文本數號碼時,工作正常,但顯然它不會是文字,沒有數字的值所在工作。如何設置命令以查看,如果可以進行此轉換,那麼請執行此操作?
我想使用宏來改變長長的單元格列。單元格是數字或文本。數字,雖然,存儲爲文本,我想轉換它們。我想喜歡如何在執行vba之前檢查命令是否可行?
`Range("A1").Value = Int(Range("A1").Value)`
,這將被存儲爲文本數號碼時,工作正常,但顯然它不會是文字,沒有數字的值所在工作。如何設置命令以查看,如果可以進行此轉換,那麼請執行此操作?
使用IsNumeric
。爲了避免將空白轉換爲零,請檢查空白。
if IsNumeric(Range("A1").Value2) and Not IsEmpty(Range("A1")) then
Range("A1").Value = Int(Range("A1").Value)
end if
與Range.TextToColumns method一起執行它們。 VBA的開銷將負責錯誤控制。
with worksheets("Sheet1")
with intersect(.usedrange, .columns(1))
.numberformat = "General"
.TextToColumns DataType:=xlFixedWidth, FieldInfo:=Array(0, 1)
end with
end with
我想這應該這樣做:
With Range("A:A") ' column A
.NumberFormat = "General"
.Value = .Value ' Excel should auto convert the strings to numbers
End With
'如果ISNUMERIC(範圍( 「A1」)值then'也許...... – xQbert