当我使用wb.Sheets(1).Range("A:A").Find(What:=ID, LookIn:=xlValues)
时,我得到错误91 - 对象变量或未设置阻止。当我使用Sheet1.Range("A:A").Find(What:=ID, LookIn:=xlValues)
时,它返回正确的值。
为什么不同?
是否有我可以参考的流程图或任何可用的简单信息,以了解哪些子命令(我不知道正确的单词)与ThisWorkbook
和Sheets(#)
对{{{ 1}}?
我对使用Sheet#.Whatever
犹豫不决,因为名字可能会在以后发生变化。我使用Sheet("Name")
而不是ThisWorkbook
来保留所有代码都附加到相应的工作簿。
您可以提供的任何简单参考信息都很棒。我已经研究过,但仍然不明白哪些子命令适用于哪些父命令。 (同样,可能是错误的术语)。
ActiveWorkbook
答案 0 :(得分:3)
Sheets(1)和Sheet1的属性没有区别,只要两者都是同一个对象 - 在您的情况下为Worksheet对象。
您因findValue Is Nothing
而收到该错误。也就是说,它无法在列中找到ID。使用Find方法时,最好指定每个参数。查找记住您上次查找的内容,即使您是在UI中使用并在VBA中使用查找。
例如,如果在执行查找时在UI中检查MatchCase。然后你在VBA中查找并且不指定MatchCase属性,它将使用你上次设置的任何内容。