使用variables集作为活动工作簿时出错

我有一行代码似乎不pipe怎么写都会产生一个错误。 在这种情况下:

Set Wbk = ActiveWorkbook Wbk.Sht.Cells(Rw, 1) <> "" 

我得到错误438

如果我改变最后一行

 Workbooks(WbName).Sht.Cells(Rw, 1) <> "" 

其中WbName是活动工作簿名称,我得到错误9。

如果我开始Sht工作簿, Sht其设置为工作表,它将工作。

这个链接应该告诉你很多东西 。
至于你的问题,让我们详细说明tigeravatar评论。

如果你设置你的工作簿是这样的:

 Set Wbk = Activeworkbook 

而你的工作表是这样的:

 Set Sht = Activeworkbook.Sheets("Sheet1") 

这两个variables彼此独立。
正如tigeravatar所说,你不能像这样链接variables。
或者简单地说,这违反了Excel对象层次结构
有时候,你需要使用variables来引用另一个对象。
你可以试试这个通过Wbk访问Wbk

 If Wbk.Sheets(Sht.Name).Cells(Rw, 1) <> "" Then 

或者如果您想要使用Sht访问工作簿:

 Sht.Parent.Sheets("Sheet1").Cells(Rw, 1) <> "" 

或者像这样的东西:

 Sht.Parent.Parent.Worksbooks(Wbk.Name).Sheets(Sht.Name).Cells(Rw, 1) <> ""