VBA如果陈述mismach错误
我正在尝试创build一个简单的if语句。 这if语句应该移动到else语句当值不满足,否则如果,而是擅长给我一个错误13 mismach错误。
这是我的代码:
Sub CALULATE() Dim postage As String Dim discountplaceholder As String discount = Range("d10").Value If discount = 0.1 Then MsgBox "hello Bill" discountplaceholder = 0.1 ElseIf discount = 0.05 Then MsgBox "hello BOB" discountplaceholder = 0.05 Else MsgBox "hello dan" discountplaceholder = 0 End If End Sub
第三个单元格值(它不是0.1或0.05)是“不适用于折扣”。 有谁知道我可以如何解决这个问题?
提前致谢。
您正在将discountplaceholder
声明为一个String
,但是您将为其分配一个Double
types的值。 要么将discountplaceholder
声明为Double,要么给它分配一个String
。 discountplaceholder = "0.1"
将Discounterplaceholder
声明为Double
或者在为其分配double值以将double
转换为literal
时使用""
。
Dim discountplaceholder As Double
要么
Sub CALULATE() Dim postage As String Dim discountplaceholder As String discount = Range("d10").Value If discount = "0.1" Then MsgBox "hello Bill" discountplaceholder = "0.1" ElseIf discount = "0.05" Then MsgBox "hello BOB" discountplaceholder = "0.05" Else MsgBox "hello dan" discountplaceholder = "0" End If End Sub