gpt4 book ai didi

excel - 具有 “What”值的Range.Find方法编译错误

转载 作者:行者123 更新时间:2023-12-02 10:57:36 25 4
gpt4 key购买 nike

我在excel电子表格中使用以下代码,该代码本质上是抓取用户名的最后一个条目(保存为x),然后向上搜索整个范围以查找该名称的最后一次出现:

For num = 9 To endnum
Sheets("Financial Reporting").Select
x = Range("A" & num).Value
Sheets("Actuals Raw Data").Select
Set r = Range("E1:E100")
Set ans = r.Find(What:=x, LookIn:=xlValues, LookAt:=xlPart, SearchDirection:=xlPrevious)
If ans Is Nothing Then
GoTo NextIteration
End If
...

代码不是最有效的,但是此刻我很好奇为什么会出现编译器错误: Named Argument not found,突出显示了代码的“What:=”部分:

Error here

据我从 https://docs.microsoft.com/en-us/office/vba/api/excel.range.find和其他在线示例所看到的,这就是应该如何定义“What”。我尝试用字符串值代替x,但是由于错误是在编译时出现的,所以我不认为这是错误所在。

r和ans都声明为范围:
Dim r As Range
Dim ans As Range

任何帮助将非常感激!谢谢 :)

最佳答案

对于将来偶然发现这一问题并希望找到解决方案的任何人,我为您提供一些奇怪的解决方案。

我精简了代码,并在测试工作簿中使用了它,range.Find()调用没有任何问题。

我逐步构建了代码段,没有任何错误,直到在第二个工作簿中运行了完整的脚本。

沮丧的是,我最终从字面上复制了所有代码,将其粘贴到Sublime Text中,然后复制并将其粘贴回到VBA编辑器中。 该代码现在可用。

不幸的是,我不知道为什么这行得通-也许是某些奇怪的格式或其他被崇高清除的格式?无论如何-也许这可以在将来对某人有所帮助:)感谢那些发表评论的人!

关于excel - 具有 “What”值的Range.Find方法编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57769748/

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