Excel在同一列中查找函数

时间:2017-08-21 12:04:35

标签: excel-vba vba excel

我尝试在论坛上搜索,但也没有成功。我正在尝试使用下面的VBA代码搜索C列中的部分值“TC1”。

C列中有2个值,“K3-TC1”位于excel“C1”单元格中,另一个值为“K3-TC10”,其中某些位于同一列C中。 当我使用下面的代码时,它发现单元格值为“K3-TC10”,而不是在C列的第1行中,即“K3-TC1”。

Dim TCFind As Range Set TCFind = Range("C:C").Find(What:="TC" & TCCpy, LookIn:=xlValues, lookat:=xlPart, MatchCase:=True)

我想设置参考供以后使用。 有人可以帮忙解决这个问题。

1 个答案:

答案 0 :(得分:0)

搜索会找到您的单元格...如果您重复搜索(https://msdn.microsoft.com/en-us/vba/excel-vba/articles/range-find-method-excel)。问题是Find函数在左上角单元格之后开始搜索,所以在你的情况下,它遇到的第一个是" K3-TC10"。

我确信有更好的解决方案,而不是我要提供的解决方案,但如果我想将范围中的第一个单元格作为Find的起点,那么我将一个单元格添加到搜索范围的开头:

Dim rng As Range
Dim TCFind As Range
Dim TCCpy As Long

TCCpy = 1
With Sheet1
    Set rng = Union(.Cells(.Rows.Count, "B"), .Range("C:C"))
End With
Set TCFind = rng.Find(What:="TC" & TCCpy, After:=rng.Cells(1), LookIn:=xlValues, lookat:=xlPart, MatchCase:=True)
Debug.Print TCFind.Address