我正在尝试使用IF函数的各种方法,现在我有点陷入循环。
我知道如果我必须将其放入单元格中,如何循环,但是当有IF时我不知道如何循环它以及当我必须从组合框中取值时。
这是没有循环的代码
cR = ComboBox2.Value
If IsNull(cR) = False Then
tsheet.Range("B1").Value = cR
End If
cR = ""
cR = ComboBox3.Value
If IsNull(cR) = False Then
tsheet.Range("B2").Value = cR
End If
cR = ""
cR = ComboBox4.Value
If IsNull(cR) = False Then
tsheet.Range("B3").Value = cR
End If
所以我可以想象循环看起来像:
For i = 2 To 4
For k = 1 To 3
If Not ComboBox(i).Value = vbNullString
Range("B", k).Value = ComboBox(i).Value
next
End Sub
答案 0 :(得分:1)
您可以这样做(假设代码在用户表单中)。
Dim i As Long
For i = 2 To 4
If Me.Controls("ComboBox" & i).Value <> vbNullString Then
Range("B" & i - 1).Value = Me.Controls("ComboBox" & i).Value
End If
Next
答案 1 :(得分:1)
如果你没有很多组合框,你可以将组合框链接到一系列单元格,然后使用Excel公式;例如 B2.formula = IF(Combo2Val)&lt;&gt;“”,Combo2Val,“”) 不需要VBA。