我試圖從一個模板文件複製一堆工作表到一個新的文件,但這是導致公式引用原始模板 - 所以我看到在線,我應該使用一個數組 - 但現在出現「下標超出範圍」錯誤。我在做什麼錯了 - 它在最後一行的錯誤?另外我試過ws()作爲字符串,也沒有工作。複製工作表陣列vba
Dim templateworkbookname As string
templateworkbookname="test.xlsx"
Dim ws() As Variant
Dim j As Integer
ReDim ws(Workbooks(templateworkbookname).Worksheets.Count)
For j = 1 To Workbooks(templateworkbookname).Worksheets.Count
ws(j) = Workbooks(templateworkbookname).Worksheets(j).Name
Next
Set newbook = Workbooks.Add
Workbooks(templateworkbookname).Worksheets(ws).Copy Before:=newbook.Sheets(1)
這是你的完整碼?它看起來像'templateworkbookname'沒有被定義,這會引發'下標超出範圍'的錯誤。 – Soulfire
不,它不是完整的代碼,但它被定義(現在編輯它) –
s/defined/** assigned **。這應該是一個'字符串',而不是'變體'。 –