作爲輸出我有Range("H" & temp).Cells
:在Excel詮釋爲空或空白
234
0
(Empty)
2
我想把它轉換成long
或int
,因爲它是一個文本值。所以我沒有
Range("H" & temp).Cells = CInt(Range("H" & temp).Cells)
它適用於234,0和2完美,但是當單元格爲空時,它顯示我錯誤。我該怎麼辦?我希望空單元格被視爲0,當然使用VBA宏。
作爲輸出我有Range("H" & temp).Cells
:在Excel詮釋爲空或空白
234
0
(Empty)
2
我想把它轉換成long
或int
,因爲它是一個文本值。所以我沒有
Range("H" & temp).Cells = CInt(Range("H" & temp).Cells)
它適用於234,0和2完美,但是當單元格爲空時,它顯示我錯誤。我該怎麼辦?我希望空單元格被視爲0,當然使用VBA宏。
在未使用的單元格中輸入數字1並將該單元格複製到剪貼板。突出顯示要將空白替換爲零的單元格範圍。選擇編輯|從菜單中選擇粘貼。在結果對話框的「操作」部分中,選擇「乘法」選項並單擊「確定」。您只將範圍內的每個單元格乘以1.數值單元格不會更改。包含文本數據的單元格將被忽略。但是任何空白的單元現在都會包含一個零。當然,您可以通過將包含0的單元格複製到剪貼板並在「粘貼特殊」對話框中使用「添加」而不是「乘法」來完成相同的操作。
從http://www.pcmag.com/article2/0,2817,1819774,00.asp使用很久以前。 –
但如何在vba excel中做到這一點? –
Sub t()
Dim colNum As Long
colNum = Range("H1").Column 'please coustomize which column
For i = 1 To 4 'Please customize the row range
Cells(i, colNum).Value = CLng(Cells(i, colNum).Value) 'blank --> 0
Cells(i, colNum).NumberFormat = "0.00" 'also changes the numberFormat
Next i
End Sub
該單元格不是真的空。它有一個空間或其他非打印字符。在使用CInt
擺脫空格之前,請嘗試使用Trim
。
+ 1您已擊中頭部。我相信用戶得到了'運行時錯誤13(類型不匹配)' –
@SiddharthRout在另一個問題OP帖子我回答了前面。我用OP測試過這個單元格實際上是一個空單元格(不是空格/製表符/ e.t.c。),使用=那個CELL/0會給出一個#div/0!錯誤,如果它包含一個空格它將返回#Value – Larry
@Larry有權利,我試過它與修剪,但結果相同。所以我檢查了列格式,並將其設置爲數字,現在這個工作 –
如果需要這樣做在公式中,可以使用這樣的: IF(IFERROR(VALUE(A1)); 0; A1)
'CINT()'空單元格的是0。應工作。你能發佈更多的代碼嗎?也許問題在別的地方。 – CaBieberach