VBA集合=不同工作簿上的工作表
我为这件事发疯了。我正在尝试筛选工作表“Detail Aging(2)”上的第一列,但筛选值会随时间而变化,我以后不需要修改宏 我曾想过使用范围从不同工作簿中的工作表中提取筛选值,但无法引用该工作簿中的工作表。我得到“下标超出范围” 下面是我正在使用的一段代码。当具有该范围的工作表位于同一工作簿上时,它工作正常VBA集合=不同工作簿上的工作表,vba,excel,Vba,Excel,我为这件事发疯了。我正在尝试筛选工作表“Detail Aging(2)”上的第一列,但筛选值会随时间而变化,我以后不需要修改宏 我曾想过使用范围从不同工作簿中的工作表中提取筛选值,但无法引用该工作簿中的工作表。我得到“下标超出范围” 下面是我正在使用的一段代码。当具有该范围的工作表位于同一工作簿上时,它工作正常 Dim vCrit As Variant Dim wsO As Worksheet Dim wsL As Worksheet Dim rngCrit As Range Dim rngOr
Dim vCrit As Variant
Dim wsO As Worksheet
Dim wsL As Worksheet
Dim rngCrit As Range
Dim rngOrders As Range
Set wsO = Worksheets("Detail Aging (2)")
Set wsL = Worksheets("C:\Users\lm733600\Desktop\Fabrizio\[Collectible Blank.xlsm]Collectors")
Set rngOrders = wsO.Range("$A$1").CurrentRegion
Set rngCrit = wsL.Range("ColRange")
任何建议都将不胜感激 使用工作簿对象
Dim vCrit As Variant
Dim wsO As Worksheet
Dim wsL As Worksheet
Dim rngCrit As Range
Dim rngOrders As Range
Set wsO = Worksheets("Detail Aging (2)")
Dim wb As Workbook
Set wb = Workbooks.Open(Filename:="C:\Users\lm733600\Desktop\Fabrizio\Collectible Blank.xlsm", ReadOnly:=True)
set wsL = wb.Sheets("Sheet1")
Set rngOrders = wsO.Range("$A$1").CurrentRegion
Set rngCrit = wsL.Range("ColRange")
首先设置另一个工作簿,然后设置sheet=otherworkbook.sheetYou想举个例子吗?我尝试将Dim wb用作工作簿,然后设置工作簿,但它会引发相同的错误。我尝试关闭工作簿,因为它有写保护,并会提示输入密码。是否可以将其设置为只读打开?如果设置为只读,宏将无法继续,因为“Collectible Blank”现在是活动工作簿,并且set wsO=工作表(“详细信息老化(2)”)无法完成。可以在文件路径和名称后添加,只读:=True。见上面的变化。但不确定这是否会阻止密码请求。至于设置wsO问题。设置wb=。。设置wsO之后。请参阅上面的编辑。如果它是目录中唯一的文件,您可以查看其中的文件。或者你可以用这样的东西。所以用户可以浏览它。你真的在这一次救了我!你的解决方案做得很好。非常感谢。很高兴能帮助你。继续编码。