VBA Userform Iif计算无法正确计算

时间:2017-10-11 09:33:44

标签: excel vba

您好我有一个用户表单,其中有8个组合框,我已编码为

With Cbx1_1
.AddItem "N/A"
.AddItem "Yes"
.AddItem "No"
End With

With Cbx1_2
.AddItem "N/A"
.AddItem "Yes"
.AddItem "No"
End With , etc,etc,etc

现在我想在OUTBX5(TextBox)中获得一个百分比,它会给我#34;是"超过适用问题的数量。 这让我想到了代码:

 Private Sub CommandButton6_Click()
 a = IIf(Cbx1_1.Value = "Yes", 1, 0) + IIf(Cbx1_2.Value = "Yes", 1, 0)_
 + IIf(Cbx1_3.Value = "Yes", 1, 0) + IIf(Cbx1_4.Value = "Yes", 1, 0)_
 + IIf(Cbx1_5.Value = "Yes", 1, 0) + IIf(Cbx1_6.Value = "Yes", 1, 0)_
 + IIf (Cbx1_7.Value = "Yes", 1, 0) + IIf(Cbx1_8.Value = "Yes", 1, 0)_

 b = 8 - IIf(Cbx1_1.Value = "N/A", 1, 0) + IIf(Cbx1_2.Value = "N/A", 1, 0)_
 + IIf(Cbx1_3.Value = "N/A", 1, 0) + IIf(Cbx1_4.Value = "N/A", 1, 0)_
 + IIf(Cbx1_5.Value = "N/A", 1, 0) + IIf(Cbx1_6.Value = "N/A", 1, 0)_
 + IIf(Cbx1_7.Value = "N/A", 1, 0) + IIf(Cbx1_8.Value = "N/A", 1, 0)_

 OUTBX5.Text = Format(a / b, "00%")

现在,当我在所有方框中选择是或否时,我得到了正确答案。 然而,当我将一些组合框保留为N / A时,计算变为梨形,例如,如果所有框都被选中为是,那么我得到100%,通过将1个组合框更改为N / A结果应该是100%,但我得到的结果是78%。

有人可以告诉我哪里出错了吗?

0 个答案:

没有答案