我是一名新手并试图找出一个优雅的策略,使用VBA从列中特定标准的多个非连续列中查找数据。
示例:查找三列特定条件都匹配的行(逻辑And): A栏,标准1; D栏:标准2,F栏:标准3.
为了举例,我们假设A列=工厂,D列=产品,F列=位置。
这在工作表上非常简单,但在VBA上我很困惑.find,应用程序联合等等。
答案 0 :(得分:0)
通常使用多个匹配标准,使用这样的循环更容易:
DB = ThisWorkbook.Sheets("DB").Range("Db_Val").Value2
Dim A()
ReDim A(1, 0)
For i = LBound(DB, 1) To UBound(DB, 1)
If Factory <> DB(i, 1) Then
Else
If Product <> DB(i, 4) Then
Else
If Location <> DB(i, 6) Then
Else
A(0, UBound(A, 2)) = i
A(1, UBound(A, 2)) = DB(i, 2)
ReDim Preserve A(UBound(A, 1), UBound(A, 2) + 1)
End If
End If
End If
Next i
If UBound(A, 2) > 0 Then ReDim Preserve A(UBound(A, 1), UBound(A, 2) - 1)