当我执行" Cells.Find"选择列后,搜索意外地离开了所选列。

时间:2018-03-05 22:39:52

标签: excel-vba vba excel

当我执行" Cells.Find"选择列后,搜索意外地离开了所选列。

我希望Find能够保留在我选择的列中,就像使用' Find"在Excel中的功能。

'Select first row of data set locations
ActiveWorkbook.Worksheets("Sheet1").Activate
Cells.EntireColumn("C").Select
Set First = Cells.Find(What:=ww_from, After:=ActiveCell, LookIn:= _
    xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
    xlNext, MatchCase:=False, SearchFormat:=False).Activate

提前感谢您的帮助。

斯科特

2 个答案:

答案 0 :(得分:0)

Cells.Find(正在查看整个工作表,而不仅仅是选择了什么。如果您只想在C列中搜索,请使用此代替您提供的所有内容:

With ThisWorkbook.Worksheets("Sheet1")
    Set First = .Column("C").Find(What:=ww_from, After:=.Range("C1"), LookIn:= _
        xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
        xlNext, MatchCase:=False, SearchFormat:=False)
End With

答案 1 :(得分:0)

如果您不想更改Selection,请考虑:

ActiveWorkbook.Worksheets("Sheet1").Activate
Dim r as Range
Set r = Columns(3).Cells
Set First = r.Find(What:=ww_from, After:=r(1), LookIn:= _
    xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
    xlNext, MatchCase:=False, SearchFormat:=False)