Board logo

標題: [發問] 執行錯誤 [打印本頁]

作者: 蘿蔔泥    時間: 2022-1-5 13:40     標題: 執行錯誤

請問各位大大,

我寫了一段巨集,
跑到第14行    Workbooks("2.年度訓練計畫表").Sheets("連結總表").Cells(r, 1) = Workbooks("SNAME").Sheets("總表").Range("a" & i)
會出現執行階段錯誤,陣列索引超出範圍
我不曉得是哪裡出錯,
還麻煩大家指點,謝謝。
  1. Sub 完成_總結new()

  2. i = 2
  3. If Range("a2") = "" Then
  4.     r = 2
  5. Else
  6.     r = Range("a1").End(xlDown).Row + 1
  7. End If

  8. SNAME = Sheets("設定頁").Range("B5")
  9. Workbooks.Open Filename:=SNAME

  10. Do While Range("a" & i) <> ""
  11.     Workbooks("2.年度訓練計畫表").Sheets("連結總表").Cells(r, 1) = Workbooks("SNAME").Sheets("總表").Range("a" & i)
  12.     Workbooks("2.年度訓練計畫表").Sheets("連結總表").Cells(r, 2) = Workbooks("SNAME").Sheets("總表").Range("e" & i)
  13.     Workbooks("2.年度訓練計畫表").Sheets("連結總表").Cells(r, 3) = Workbooks("SNAME").Sheets("總表").Range("f" & i)
  14.     Workbooks("2.年度訓練計畫表").Sheets("連結總表").Cells(r, 4) = Workbooks("SNAME").Sheets("總表").Range("j" & i)
  15.     Workbooks("2.年度訓練計畫表").Sheets("連結總表").Cells(r, 5) = Workbooks("SNAME").Sheets("總表").Range("i" & i)
  16.     Workbooks("2.年度訓練計畫表").Sheets("連結總表").Cells(r, 6) = Workbooks("SNAME").Sheets("總表").Range("d" & i)
  17.     Workbooks("2.年度訓練計畫表").Sheets("連結總表").Cells(r, 7) = Workbooks("SNAME").Sheets("總表").Range("l" & i)
  18.     Workbooks("2.年度訓練計畫表").Sheets("連結總表").Cells(r, 8) = Workbooks("SNAME").Sheets("總表").Range("m" & i)
  19.     Workbooks("2.年度訓練計畫表").Sheets("連結總表").Cells(r, 9) = Workbooks("SNAME").Sheets("總表").Range("q" & i)
  20.     Workbooks("2.年度訓練計畫表").Sheets("連結總表").Cells(r, 10) = Workbooks("SNAME").Sheets("總表").Range("t" & i)
  21.     Workbooks("2.年度訓練計畫表").Sheets("連結總表").Cells(r, 11) = Workbooks("SNAME").Sheets("總表").Range("ab" & i)
  22.     Workbooks("2.年度訓練計畫表").Sheets("連結總表").Cells(r, 12) = Workbooks("SNAME").Sheets("總表").Range("y" & i)
  23.     Workbooks("2.年度訓練計畫表").Sheets("連結總表").Cells(r, 13) = Workbooks("SNAME").Sheets("總表").Range("z" & i)
  24. '    Workbooks("2.年度訓練計畫表").Worksheets("連結總表").Cells(r, 14) = Workbooks("SNAME").Sheets("總表").Range("aa" & i)
  25.         If Workbooks("SNAME").Sheets("總表").Range("j" & i) = "外訓" And Workbooks("SNAME").Sheets("總表").Range("q" & i) <> "" Then
  26.             Workbooks("2.年度訓練計畫表").Sheets("連結總表").Cells(r, 14) = "詳如明細"
  27.         Else
  28.             Workbooks("2.年度訓練計畫表").Sheets("連結總表").Cells(r, 14) = Workbooks("SNAME").Sheets("總表").Range("aa" & i)

  29.         End If
  30.     r = r + 1
  31.     i = i + 1
  32. Loop

  33. Workbooks(SNAME).Close
  34. 'x = WorksheetFunction.CountIf(Sheets("連結總表").Range("c:d"), Range("m:m"))
  35. End Sub
複製代碼

作者: samwang    時間: 2022-1-5 14:22

回復 1# 蘿蔔泥

修改如下紅字,謝謝
所有Workbooks("SNAME") 改為 Workbooks(SNAME)


Sub 完成_總結new()

i = 2
If Range("a2") = "" Then
    r = 2
Else
    r = Range("a1").End(xlDown).Row + 1
End If

FN = Sheets("設定頁").Range("B5")
Workbooks.Open Filename:=FN
SNAME = ActiveWorkbook.Name
Do While Range("a" & i) <> ""
    Workbooks("2.年度訓練計畫表").Sheets("連結總表").Cells(r, 1) = Workbooks(SNAME).Sheets("總表").Range("a" & i)
    Workbooks("2.年度訓練計畫表").Sheets("連結總表").Cells(r, 2) = Workbooks(SNAME).Sheets("總表").Range("e" & i)
    Workbooks("2.年度訓練計畫表").Sheets("連結總表").Cells(r, 3) = Workbooks(SNAME).Sheets("總表").Range("f" & i)
    Workbooks("2.年度訓練計畫表").Sheets("連結總表").Cells(r, 4) = Workbooks(SNAME).Sheets("總表").Range("j" & i)
    Workbooks("2.年度訓練計畫表").Sheets("連結總表").Cells(r, 5) = Workbooks(SNAME).Sheets("總表").Range("i" & i)
    Workbooks("2.年度訓練計畫表").Sheets("連結總表").Cells(r, 6) = Workbooks(SNAME).Sheets("總表").Range("d" & i)
    Workbooks("2.年度訓練計畫表").Sheets("連結總表").Cells(r, 7) = Workbooks(SNAME).Sheets("總表").Range("l" & i)
    Workbooks("2.年度訓練計畫表").Sheets("連結總表").Cells(r, 8) = Workbooks(SNAME).Sheets("總表").Range("m" & i)
    Workbooks("2.年度訓練計畫表").Sheets("連結總表").Cells(r, 9) = Workbooks(SNAME).Sheets("總表").Range("q" & i)
    Workbooks("2.年度訓練計畫表").Sheets("連結總表").Cells(r, 10) = Workbooks(SNAME).Sheets("總表").Range("t" & i)
    Workbooks("2.年度訓練計畫表").Sheets("連結總表").Cells(r, 11) = Workbooks(SNAME).Sheets("總表").Range("ab" & i)
    Workbooks("2.年度訓練計畫表").Sheets("連結總表").Cells(r, 12) = Workbooks(SNAME).Sheets("總表").Range("y" & i)
    Workbooks("2.年度訓練計畫表").Sheets("連結總表").Cells(r, 13) = Workbooks(SNAME).Sheets("總表").Range("z" & i)
'    Workbooks("2.年度訓練計畫表").Worksheets("連結總表").Cells(r, 14) = Workbooks("SNAME").Sheets("總表").Range("aa" & i)
        If Workbooks(SNAME).Sheets("總表").Range("j" & i) = "外訓" And Workbooks(SNAME).Sheets("總表").Range("q" & i) <> "" Then
            Workbooks("2.年度訓練計畫表").Sheets("連結總表").Cells(r, 14) = "詳如明細"
        Else
            Workbooks("2.年度訓練計畫表").Sheets("連結總表").Cells(r, 14) = Workbooks(SNAME).Sheets("總表").Range("aa" & i)

        End If
    r = r + 1
    i = i + 1
Loop

Workbooks(SNAME).Close
'x = WorksheetFunction.CountIf(Sheets("連結總表").Range("c:d"), Range("m:m"))
End Sub
作者: singo1232001    時間: 2022-1-25 03:33

本帖最後由 singo1232001 於 2022-1-25 03:34 編輯

回復 1# 蘿蔔泥


借我改一改




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)