我制作了一种使用输入值对多个像元进行乘法,除法,加法和减法的表格。
一切正常,除非我在输入框中输入0,否则代码将无法执行。
Private Sub cmdMultyply_Click()
Dim cell_value As Double
Dim rng As Range
Dim cell As Range
Dim nmr As Variant
Dim formula As String
nmr = Application.InputBox("Insert a number.", "INPUT", Type:=1)
If nmr = False Then Exit Sub
Set rng = Selection
For Each cell In rng
If cell.Value <> "" Then
cell_value = cell.Value
formula = Replace(cell.FormulaLocal, "=", "")
cell.FormulaLocal = "=(" & formula & ")" & "*" & nmr
End If
Next
Unload Me
End Sub
答案 0 :(得分:4)
If nmr = False Then Exit Sub
InputBox
返回一个Variant
。如果该变体的子类型为Boolean
,则说明您不需要处理它。
因此请验证变体子类型:
If VarType(nmr) = vbBoolean Then Exit Sub
现在"False"
和0
都是有效值。
答案 1 :(得分:2)
这是因为
0 = False
它退出子
更改
If nmr = False Then Exit Sub
收件人
If CStr(nmr) = "False" Then Exit Sub