gpt4 book ai didi

vba range.find 方法在随机单元格上停止

转载 作者:行者123 更新时间:2023-12-04 21:35:41 26 4
gpt4 key购买 nike

我写了这个快速 For Loop 作为宏的一部分,以根据 dewbk 中的值列表在 utwbk 中查找单元格。对于几个单元格,循环似乎运行良好,然后崩溃。问题是,它每次都会因不同的值而崩溃,但这些值确实存在于 utwbk 中。这是我的代码:

Dim utpath As String
Dim utwbk As Workbook
Dim ogfund As String
Dim ogcell As Range
Dim newfund As String
Dim newcell As Range
Dim t As Long


For t = 2 To tempfundlastrow
If dewbk.Sheets("Macro").Cells(t, 1).Value <> "" Then
Set ogcell = dewbk.Sheets("Macro").Cells(t, 1)
ogfund = Trim(ogcell.Value)

With utwbk.Sheets("Report").Range(Cells(1, 1), Range("AAA1").SpecialCells(xlCellTypeLastCell))
Set newcell = .Find(ogfund, LookIn:=xlValues, lookat:=xlWhole)
End With

newfund = newcell.Value

newcell.Offset(2, 0).Value = ogcell.Offset(0, 8).Value
newcell.Offset(3, 0).Value = ogcell.Offset(0, 9).Value
newcell.Offset(4, 0).Value = ogcell.Offset(0, 11).Value
newcell.Offset(6, 0).Value = ogcell.Offset(0, 10).Value
Else
'nothing
End If
Next t

代码因运行时错误 91 崩溃:此行上的“未设置 block 变量的对象变量”:
newfund = newcell.Value

在我定义 newcell 的上一行中,ogfund 有一个值,我可以在 utwbk 中找到该值,所以真的不确定发生了什么。我假设我的 .Find 语法不正确,但我不知道如何纠正这个问题。像往常一样,非常感谢任何帮助!

最佳答案

线后

Set newcell = .Find(ogfund, LookIn:=xlValues, lookat:=xlWhole)

输入这个
If newcell Is Nothing Then
MsgBox "Not found"
Exit Sub
End If

如果您看到表示 .Find 的消息框找不到搜索文本,由于找不到, newcell.Value将代码破坏为 newcellNothing
顺便说一句,如果你找一个词 BLAH在你的牢房里有 BLAH带有前导和尾随空格,然后是您的 .Find找不到该词,因为您使用的是 lookat:=xlWhole .也许你想要 lookat:=xlPart

关于vba range.find 方法在随机单元格上停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38834829/

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