會出現這個問題一般是下列狀況具多:
1.沒有將活頁簿先存檔變成有固定名稱,而是用預設名稱無法抓到。
2.副檔名錯誤,該是2003以前版本是XLS,而2007以後是XLSX。
3.工作表名稱,SHEET/工作表沒對應到。
Sub AtoB()
Windows("A.xls").Activate
Sheets("sheet1").Select
Range("A1:G5").Select
Application.CutCopyMode = False
Selection.Copy
Windows("B.xls").Activate
Sheets("sheet2").Select
Range("C1:I5").Select
ActiveSheet.Paste
End Sub
大大,
我有試過,
Sub AtoB()
Windows("A.xls").Activate
Sheets("sheet1").Select
Range("A1:G5").Select
Application.CutCopyMode = False
Selection.Copy
Windows("B.xls").Activate
Sheets("sheet2").Select
Range("C1:I5").Select
ActiveSheet.Paste
End Sub
結果也是出現代碼,陣列索引超出範圍
大大,
我有試過,如下:
workbooks("A.xlsx").sheets("sheet1").range("a1:g5").copy destination := workbooks("B.xlsx").sheets("sheet2").range("c1:i5")
同樣出現陣列索引超出範圍
大大,
我有試過,如下:
workbooks("A.xlsx").sheets("sheet1").range("a1:g5").copy destination := workbooks("B.xlsx").sheets("sheet2").range("c1:i5")
同樣出現陣列索引超出範圍
我的程式碼在我這跑是沒問題的!
你的副檔名是xls還是xlsx呢?這兩個不一樣喔!
請先確定你的副檔名為何,sheet名稱為何還有檔案名稱為何。
我看你自己試的程式碼跟你問題中的描述不盡相符(xls/xlsx或工作表1/sheet1)。