我嘗試使用下面的代碼 PrintWB有以下值"C:\Users\jarora\Desktop\Master Test Sheet.xlsx"
VBA工作簿對象,提供「下標超出範圍的錯誤」
PrintWB = .Cells(i, 1) & "\" & .Cells(i, 2)
Workbooks(PrintWB).Sheets(Sheetname).Printout From:=Frompage, To:=Topage
上面一行是給我的錯誤「下標超出範圍的錯誤」時,引用工作簿對象。
我引用工作簿對象時獲得上述線以下錯誤:
下標超出範圍錯誤的
任何幫助將非常讚賞,因爲這是我的拼圖的最後一塊我正在努力拼湊。
您的工作手冊「Master Test Sheet.xlsx」是否打開?因爲'Workbooks()'是excel中所有當前打開的工作簿的集合。換句話說,如果該工作簿未打開,則不在「Workbooks()」集合中。如果它是開放的,那麼你可以通過2種方式中的其中一種進行調用。按索引或按名稱。索引是一個數字,所以1將是第一本打開的書。名稱將是「Master Test Sheet.xlsx」。不是整個地址。 – Tyeler
你怎麼知道它不是'.Sheets(Sheetname)'這是拋出錯誤?確定你可以把它分成兩行。聲明一個工作簿變量,比如'wb',然後在一行中有'Set wb = Workbooks(PrintWB)',並在下一行有'wb.Sheets(SheetName).etc.'查看哪一行觸發錯誤。 –
@JohnColeman我們知道'.Sheets(Sheetname)'不會拋出錯誤,因爲'Workbooks(PrintWB)'中的'PrintWB'是整個文件路徑,它不是'Workbooks()'接受的格式。 'Workbooks()'正在查找INDEX號碼或文件名稱。在他的情況下,文件名將是'「Master Test Sheet.xlsx」'。 – Tyeler