Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.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
Excel VBA:查找包含重复项的列的最后一行,但不查找整个列的结尾_Vba - Fatal编程技术网

Excel VBA:查找包含重复项的列的最后一行,但不查找整个列的结尾

Excel VBA:查找包含重复项的列的最后一行,但不查找整个列的结尾,vba,Vba,我有一个大的数据表,其中每一行都有一列,为它提供一个唯一的标识符,如下所示: Row Identifier Value 1 A 3 2 A 4 3 A 7 4 B 1 5 B 3

我有一个大的数据表,其中每一行都有一列,为它提供一个唯一的标识符,如下所示:

Row Identifier Value 1 A 3 2 A 4 3 A 7 4 B 1 5 B 3 6 B 0 7 C 9 行标识符值 1 A 3 2 A 4 3 A 7 4 B 1 5 B 3 6B0 7 C 9 我希望能够在一个范围内找到最后一个重复标识符的行号。例如,如果标识符“B”是未知的行数,我想找到最后一行中具有列标识符“B”的行数,我该怎么做

到目前为止,我已经找到了选择第一个标识符行的代码:

' Select first row where first instance of <B> exists:
With ActiveWorkbook.ActiveSheet
    Set First_B_Row = .Range("A:A").Find(What:="B", LookIn:=xlValues)
End With

Dim First_B_RowNumber As Long
First_B_RowNumber = First_B_Row.Row

ActiveWorkbook.ActiveSheet.Rows(First_B_RowNumber).Select
”选择存在第一个实例的第一行:
使用ActiveWorkbook.ActiveSheet
设置第一行=.Range(“A:A”).Find(What:=“B”,LookIn:=xlValues)
以
调暗第一行的行数,长度为
First_B_RowNumber=First_B_Row.Row
ActiveWorkbook.ActiveSheet.Rows(第一行)。选择

但是,我希望能够在一列中找到最后一个标识符的行号。有什么想法吗?

你已经非常接近了。而不是从上到下搜索,然后像这样反向搜索:

With ActiveWorkbook.ActiveSheet
    Dim Last_B_RowNumber As Long
    Last_B_RowNumber = .Range("A:A").Find(What:="B", After:=[A1], _
        SearchDirection:=xlPrevious).Row
End With
上述代码将在A列中找到最后一次出现的B,并将其行号分配给一个变量。
你只是错过了SearchDirection的论点