gpt4 book ai didi

VBA查找字符串的最后一次出现

转载 作者:行者123 更新时间:2023-12-02 07:36:18 26 4
gpt4 key购买 nike

几天来我一直在努力解决这个问题,但我就是无法解决这个问题。我搜索了多个网站(甚至在这里好几次),我看到很多人都问过这个问题,但解决方案对我不起作用。

我想找到某个范围内最后一次出现的字符串,并将地址存储在变量中,并显示一条消息,告诉我它在哪里。

到目前为止我已经有了这个

Private Sub CmdBtnClockIt_Click()
Dim job As String
Dim searchTerm as Range

job = CmbBoxJob.Value
searchTerm = Range("A1:A999").find(what:=job, searchorder:=xlByColumns, searchdirection:=xlPrevious).Column
MsgBox "last cell is " & searchTerm.Address
End Sub

我似乎得到的只是“无效限定符”或“对象变量或未设置 block 变量”

感谢任何帮助

最佳答案

第一个问题是 searchTerm 被定义为 Range 对象。您必须使用 Set keyword 设置对象分配。因此,赋值变为 Set searchTerm = Range("A1:A999")...

其次,如果未找到 searchTerm,您将收到错误消息,因为 searchTerm 将被分配一个值 Nothing。我们可以通过使用一个简单的条件来检查是否找到作业来避免此问题。

因此,更新后的 Sub 可能如下所示:

Private Sub CmdBtnClockIt_Click()
Dim job As String
Dim searchTerm As Range

job = CmbBoxJob.Value
Set searchTerm = Range("A1:A999").Find(what:=job, searchorder:=xlByColumns, searchdirection:=xlPrevious)
If searchTerm Is Nothing Then
MsgBox "Text was not found"
Else
MsgBox "Last cell is " & searchTerm.Address
End If
End Sub

关于VBA查找字符串的最后一次出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31300364/

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