【发布时间】:2019-02-18 10:55:54
【问题描述】:
我有一个包含三个文本的表单,可以将此值放在同一行的不同列。 这很好用。 我创建了这个函数来验证 text1 和 text2 的组合是否存在于某行上。 但它只验证第一个条件。
Function kontr() As Boolean
Dim endRow As Long
endRow = ActiveSheet.Range("C:C").End(xlUp).Row
For i = 1 To endRow
If (ActiveSheet.Range("C" & i).Value <> UserForm1.TextBox1.Text And ActiveSheet.Range("F" & i).Value <> UserForm1.TextBox2.Text) Then
kontr = True
Else
MsgBox ("Exists!")
kontr = False
End If
Next i
End Function
有人可以帮忙吗?
【问题讨论】:
-
您可以使用
COUNTIFS(),而不是for循环。可能更简单、更快。 -
你确定逻辑正确吗?从描述中我觉得你想要
If (ActiveSheet.Range("C" & i).Value = UserForm1.TextBox1.Text And ActiveSheet.Range("F" & i).Value = UserForm1.TextBox2.Text) Thenkontr = TrueExit Function。