编辑一段代码后需要帮助修复一个vba错误“1004”

一些背景知识,我已经写了一段代码循环遍历目录中的所有工作簿并执行一个函数,该函数也执行另一个函数。 这两个函数都testing良好,没有问题,直到我把它们放到通过所有工作簿的代码中。 我原来有这个代码,并没有问题:

Set tbl = shtOfErrors.UsedRange tbl.Offset(2, 0).SpecialCells(2, 23).Select Selection.Resize(, 3).Select 

我试图摆脱所有.select我原来的function,因为它保持错误,当它被称为工作簿循环的一部分。 但是现在我得到了错误1004应用程序定义或对象定义的错误在这里第3行:

 Set tbl = shtOfErrors.UsedRange Set selrng = tbl.Offset(2, 0).SpecialCells(2, 23) Set seltbl = selrng.Resize(, 3) 

一个选项是:

 Set tbl = shtOfErrors.UsedRange Set tbl = Intersect(tbl, tbl.Offset(2, 0)).Resize(, 3).SpecialCells(2, 23) 

应该做你想要的一切…(未经testing)

另外一个select:

 Set tbl = shtOfErrors.Range("$2:$2", Rows(Rows.Count).Address).UsedRange.Resize(, 3).SpecialCells(2, 23) 

第三个select是:

 Set tbl = shtOfErrors.UsedRange.Offset(2, 0).UsedRange.Resize(, 3).SpecialCells(2, 23)