Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 如何在宏中匹配2个条件_Vba_Excel - Fatal编程技术网

Vba 如何在宏中匹配2个条件

Vba 如何在宏中匹配2个条件,vba,excel,Vba,Excel,我目前有以下代码查找Columbus列。但是我如何指定我只想通过引用第4行State来查找俄亥俄州哥伦布的列呢 Amount = WorksheetFunction.Match("Columbus", Rows("5:5"), 0) 尝试循环浏览所有记录- Dim Amount As Variant Dim lngRow as long lngRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row For i = 2 To lngRow 'Co

我目前有以下代码查找Columbus列。但是我如何指定我只想通过引用第4行State来查找俄亥俄州哥伦布的列呢

Amount = WorksheetFunction.Match("Columbus", Rows("5:5"), 0)

尝试循环浏览所有记录-

Dim Amount As Variant
Dim lngRow as long
lngRow = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To lngRow 'Considering row 1 has headers
    If ActiveSheet.Cells(i, 5) = "Columbus" And ActiveSheet.Cells(i, 4) = "Ohio" Then
        Amount = i
        Exit For
    End If
Next i

感谢使用变体阵列并循环使用,这样会更快:

With Worksheets("Sheet1") 'Change to your sheet
    Dim rngArr() As Variant
    rngArr = .Range(.Cells(4, 1), .Cells(5, .Columns.Count).End(xlToLeft)).Value
    Dim i As Long
    For i = 1 To UBound(rngArr, 2)

        If rngArr(1, i) = "Ohio" And rngArr(2, i) = "Columbus" Then Exit For
    Next i

    If i <= UBound(rngArr, 2) Then
        Dim Amount As Long
        Amount = i
    Else
        MsgBox "Not Found"
    End If
End With