用于搜索值组合的VBA脚本

用于搜索值组合的VBA脚本,vba,combinations,Vba,Combinations,我希望有人能在以下方面帮助我。 我有一张表格,每行有客户/患者记录(从第3行开始)和56列医疗数据(病情、药物等)可供搜索。我有一个带有几个组合框的用户表单,用于选择我搜索的项目或项目组合。我制作了一个脚本来搜索项目的组合。问题是,结果甚至不接近结果应该是什么 Private Sub cmdCOMBI_Click() Dim COMBIRange As Range Dim LastRow As Long Dim LastCol As Long Dim cbo1 As String Dim cbo

我希望有人能在以下方面帮助我。 我有一张表格,每行有客户/患者记录(从第3行开始)和56列医疗数据(病情、药物等)可供搜索。我有一个带有几个组合框的用户表单,用于选择我搜索的项目或项目组合。我制作了一个脚本来搜索项目的组合。问题是,结果甚至不接近结果应该是什么

Private Sub cmdCOMBI_Click()
Dim COMBIRange As Range
Dim LastRow As Long
Dim LastCol As Long
Dim cbo1 As String
Dim cbo2 As String
Dim cbo3 As String
Dim Par1 As Integer
Dim Par2 As Integer
Dim Par3 As Integer
Dim conb As Integer

LastRow = Worksheets("SOURCE").Cells(Rows.Count, 1).End(xlUp).Row
Set COMBIRange = Worksheets("SOURCE").Range("A2:BO" & LastRow)

If Not cboINCL1.TEXT = "" Then
cbo1 = cboINCL1.Value
Par1 = 1
Else
cbo1 = "--"
Par1 = 0
End If

If Not cboINCL2.TEXT = "" Then
cbo2 = cboINCL2.Value
Par2 = 1
Else
cbo2 = "--"
Par2 = 0
End If

If Not cboINCL3.TEXT = "" Then
cbo3 = cboINCL3.Value
Par3 = 1
Else
cbo3 = "--"
Par3 = 0
End If

ParTotal = Par1 + Par2 + Par3
conb = 0

For iR = 3 To LastRow
    For iC = 11 To 67
      If Worksheets("SOURCE").Cells(iR, iC).Value = cbo1 Or Worksheets("SOURCE").Cells(iR, iC).Value = cbo2 Or Worksheets("SOURCE").Cells(iR, iC).Value = cbo3 Then
        INC = INC + 1
        End If
        Next iC

If INC = ParTotal Then
conb = conb + 1
End If
Next iR


  FormMENU.tboResIN.Value = conb
End Sub
有人知道我做错了什么吗


提前谢谢你

好的,我自己发现了问题。我忘了在每一新行开始时将INC声明回0

For iR = 3 To LastRow
INC = 0
For iC = 11 To 67

您是否尝试按F8键单步执行代码并确定错误发生的位置?使用F8键未发现错误,但我指出脚本正在计算从第一个匹配到下一个匹配的行数,而不是匹配数。还是不知道该怎么解决。