私が持っている出力としてRange("H" & temp).Cells
:
234
0
(Empty)
2
テキスト値なのでlong
orに変換したい。int
だから私はやった
Range("H" & temp).Cells = CInt(Range("H" & temp).Cells)
234、0、および 2 では完全に機能しますが、セルが空の場合はエラーが表示されます。私は何をすべきか?もちろん、VBAマクロを使用して、空のセルを0として取得したい。
そのセルは実際には空ではありません。スペースまたはその他の非印刷文字が含まれています。スペースを取り除くためTrim
に使用する前に使用してみてください。CInt
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
未使用のセルに数字の 1 を入力し、そのセルをクリップボードにコピーします。空白をゼロに置き換えるセル範囲を強調表示します。[編集] | [編集] を選択します。メニューからスペシャルを貼り付けます。表示されたダイアログ ボックスの [操作] セクションで、[乗算] オプションを選択し、[OK] をクリックします。これで、範囲内のすべてのセルが 1 で乗算されました。数値セルは変更されません。テキスト データを含むセルは無視されます。ただし、空白だったセルにはゼロが含まれます。もちろん、0 を含むセルをクリップボードにコピーし、[形式を選択して貼り付け] ダイアログで [乗算] ではなく [加算] を使用して、同じことを行うこともできます。