从下面的代码中可以看到,我正在循环一个数组,如果条件满足,我希望得到行号,其中包括列A中的特定值。
图像:

Option Explicit
Sub test()
Dim i As Long, arr As Variant
With ThisWorkbook.Worksheets("Sheet1")
arr = .Range("A1:A10")
For i = LBound(arr) To UBound(arr)
If arr(i, 1) = 4 Then
'Get the row that the array value apperas in Column A. The answer should be row number 8
End If
Next i
End With
End Sub发布于 2019-03-22 15:20:54
Sub test()
Dim i As Long, arr As Variant, rng As Range
Set rng = ThisWorkbook.Worksheets("Sheet1").Range("A1:A10")
arr = rng.Value
For i = LBound(arr) To UBound(arr)
If arr(i, 1) = 4 Then
Debug.Print rng(i).Row
End If
Next i
End Sub发布于 2019-03-22 13:15:40
您的数组通过i与您的行号相关,尽管这取决于从第一行开始的数组。如果您从第5行开始,它将是i + 4
For i = LBound(arr) To UBound(arr)
If arr(i, 1) = 4 Then
Debug.Print i
End If
Next i发布于 2019-03-22 14:10:23
对于每个单元格,请尝试如下所示。它将返回准确的匹配行。
Option Explicit
Sub test()
Dim i As Long
Dim cells As Range
With ThisWorkbook.Worksheets("Sheet1")
For Each cells In .Range("A1:A10")
If cells.Value = 4 Then
MsgBox ("row Number is :" & cells.Row)
End If
Next
End With
End Subhttps://stackoverflow.com/questions/55300386
复制相似问题