gpt4 book ai didi

vba - 在特定列中使用范围查找方法

转载 作者:行者123 更新时间:2023-12-02 21:48:33 24 4
gpt4 key购买 nike

我已经对此进行了一段时间的修改,我可以使用下面的代码,但它的搜索量超出了我的预期。我希望它只搜索 C 列而不是整个工作表。我尝试将 Cells.Find 更改为 Range("C1:C10000").Find 但它不返回任何匹配项。

真的被这个难住了。

Dim r As Range

Set r = Sheets("State Agent List").Range("C1:C10000").Find(What:=ComboBox22.Value, _
After:=ActiveCell, LookAt:=xlPart, SearchOrder:=xlByRows)

If Not r Is Nothing Then
r.Select
ActiveWindow.ScrollRow = ActiveCell.Row
Else
MsgBox "Location not listed."
End If

最佳答案

您的问题是使用了 ActiveCell,如果它恰好不在 C1:C10000 内,则不会返回任何内容。试试这个:

Dim searchRng As Range: Set searchRng = Sheets("State Agent List").Range("C1:C10000")
Dim r As Range
Set r = searchRng.Find(What:=ComboBox22.Value, After:=searchRng(searchRng.Count))

参数 searchRng(searchRng.Count) 与您正在处理的范围的最后一个单元格相关。它可以工作,但可以这样明确地编写:

searchRng.Cells(searchRng.Cells.Count)

为什么我们需要将 After 参数设置为最后一个单元格?
主要原因是搜索从第一个单元格开始。 HTH

关于vba - 在特定列中使用范围查找方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28333965/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com