Lauzeitfehler 9: "Index außerhalb des gültigen Bereichs"

  • Excel

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Ghizmo.

    Lauzeitfehler 9: "Index außerhalb des gültigen Bereichs"

    Hallo zusammen,

    ich bin gerade so richtig am verzweifeln, und wende mich mit großer Hoffnung nun an euch.

    Der unten angegebene Code soll letztlich Worksheets aus der aktiven Datei zunächst duplizieren, nur Werte in das Duplikat übernehmen und dann in eine neu zu erstellende Datei verschieben. (Leider habe ich sonst keinen anderen Weg gefunden, wie ich ein Tabellenblatt mit nur den Werten, Formaten ohne Formeln, aber mit samt Seiten/ Druckeinstellungen in eine neu Datei übernehmen kann.

    Im Grunde genommen, hat es die ganze Zeit geklappt aber nun meckert er mit einem

    Lauzeitfehler 9: "Index außerhalb des gültigen Bereichs" in der Zeile 73

    Egal was ich nun mache, ich komme nicht weiter.

    Mach ich da was falsch? Gut, ich bin nun auch kein VBA/ Excel Profi.

    Visual Basic-Quellcode

    1. Sub miniVGAL_erstellen()
    2. Application.CutCopyMode = False 'Zwischenspeicher löschen
    3. Application.Calculation = xlCalculationManual
    4. Application.ScreenUpdating = False
    5. Application.DisplayAlerts = False
    6. Dim DieserPfad As String
    7. DieserPfad = ThisWorkbook.Path
    8. Dim Dateiname As String
    9. Dateiname = ActiveWorkbook.Name
    10. Speichername = Application.Substitute(ActiveWorkbook.Name, ".xlsm", "")
    11. MiniVGAL = "Mini " & Speichername & ".xlsx"
    12. Worksheets("Verrechnung V-Geld mit AV").Visible = xlSheetVisible
    13. Worksheets("1-2 Meldung").Visible = xlSheetVisible
    14. Worksheets("AVVG_AusAO").Visible = xlSheetVisible
    15. Worksheets("AVVG_AnAO").Visible = xlSheetVisible
    16. Worksheets("umzub. V-Geldsätze").Visible = xlSheetVisible
    17. Worksheets("V-Geld-Zuschüsse").Visible = xlSheetVisible
    18. Worksheets("VerpflStMeldung").Visible = xlSheetVisible
    19. ' Worksheets("VGAL Zusammenfassung").Visible = xlSheetVisible
    20. 'neue Datei erstellen
    21. Workbooks.Add
    22. Application.DisplayAlerts = False
    23. ActiveWorkbook.SaveAs Filename:=DieserPfad & "\Mini " & Speichername & ".xlsx"
    24. Application.DisplayAlerts = True
    25. Windows(Dateiname).Activate
    26. '1-2 Meldung übertragen
    27. Sheets("1-2 Meldung").Select
    28. Application.CutCopyMode = False
    29. Sheets("1-2 Meldung").Copy Before:=Sheets(1)
    30. Sheets("1-2 Meldung (2)").Unprotect Password:="PdR2020"
    31. Sheets("1-2 Meldung (2)").Select
    32. Cells.Select
    33. Selection.Copy
    34. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    35. Sheets("1-2 Meldung (2)").Select
    36. Sheets("1-2 Meldung (2)").Move Before:=Workbooks(MiniVGAL).Sheets(1)
    37. Windows(Dateiname).Activate
    38. 'Verrechnung V-Geld mit AV übertragen
    39. Sheets("Verrechnung V-Geld mit AV").Select
    40. Sheets("Verrechnung V-Geld mit AV").Copy Before:=Sheets(1)
    41. Sheets("Verrechnung V-Geld mit AV (2)").Select
    42. Cells.Select
    43. Selection.Copy
    44. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    45. Sheets("Verrechnung V-Geld mit AV (2)").Select
    46. Sheets("Verrechnung V-Geld mit AV (2)").Move Before:=Workbooks(MiniVGAL).Sheets(1)
    47. Windows(Dateiname).Activate
    48. 'AVVG_AusAO übertragen
    49. Sheets("AVVG_AusAO").Select
    50. Sheets("AVVG_AusAO").Copy Before:=Sheets(1)
    51. Sheets("AVVG_AusAO (2)").Select
    52. Cells.Select
    53. Selection.Copy
    54. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    55. Sheets("AVVG_AusAO (2)").Select
    56. Sheets("AVVG_AusAO (2)").Move Before:=Workbooks(MiniVGAL).Sheets(1)
    57. Windows(Dateiname).Activate
    58. 'AVVG_AnAO übertragen
    59. Sheets("AVVG_AnAO").Select
    60. Sheets("AVVG_AnAO").Copy Before:=Sheets(1)
    61. Sheets("AVVG_AnAO (2").Select
    62. Cells.Select
    63. Selection.Copy
    64. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    65. Sheets("AVVG_AnAO (2").Select
    66. Sheets("AVVG_AnAO (2").Move Before:=Workbooks(MiniVGAL).Sheets(1)
    67. Windows(Dateiname).Activate
    68. 'umzub. V-Geldsätze übertragen
    69. Sheets("umzub. V-Geldsätze").Select
    70. Sheets("umzub. V-Geldsätze").Copy Before:=Sheets(1)
    71. Sheets("umzub. V-Geldsätze (2)").Select
    72. Cells.Select
    73. Selection.Copy
    74. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    75. Sheets("umzub. V-Geldsätze (2)").Select
    76. Sheets("umzub. V-Geldsätze (2)").Move Before:=Workbooks(MiniVGAL).Sheets(1)
    77. Windows(Dateiname).Activate
    78. 'V-Geld-Zuschüsse übertragen
    79. Sheets("V-Geld-Zuschüsse").Select
    80. Sheets("V-Geld-Zuschüsse").Copy Before:=Sheets(1)
    81. Sheets("V-Geld-Zuschüsse (2)").Select
    82. Cells.Select
    83. Selection.Copy
    84. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    85. Sheets("V-Geld-Zuschüsse (2)").Select
    86. Sheets("V-Geld-Zuschüsse (2)").Move Before:=Workbooks(MiniVGAL).Sheets(1)
    87. Windows(Dateiname).Activate
    88. 'VerpflStMeldung übertragen
    89. Sheets("VerpflStMeldung").Select
    90. Sheets("VerpflStMeldung").Copy Before:=Sheets(1)
    91. Sheets("VerpflStMeldung (2)").Select
    92. Cells.Select
    93. Selection.Copy
    94. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    95. Sheets("VerpflStMeldung (2)").Select
    96. Sheets("VerpflStMeldung (2)").Move Before:=Workbooks(MiniVGAL).Sheets(1)
    97. Windows(Dateiname).Activate
    98. 'VGAL Zusammenfassung übertragen
    99. Sheets("VGAL Zusammenfassung").Select
    100. Sheets("VGAL Zusammenfassung").Copy Before:=Sheets(1)
    101. Sheets("VGAL Zusammenfassung (2)").Select
    102. Cells.Select
    103. Selection.Copy
    104. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    105. Sheets("VGAL Zusammenfassung (2)").Select
    106. Application.CutCopyMode = False
    107. Sheets("VGAL Zusammenfassung (2)").Move Before:=Workbooks(MiniVGAL).Sheets(1)
    108. With Application
    109. .StatusBar = "VGAL_Mini wurde erstellt. Daten wurden übertragen. "
    110. .Wait (Now + TimeValue("00:00:03"))
    111. .StatusBar = False
    112. End With
    113. Application.DisplayAlerts = False
    114. ActiveWorkbook.Save
    115. Application.DisplayAlerts = True
    116. ActiveWorkbook.Close
    117. Windows(Dateiname).Activate
    118. Application.ScreenUpdating = True
    119. Application.Calculation = xlCalculationAutomatic
    120. Application.CutCopyMode = False 'Zwischenspeicher löschen
    121. End Sub


    LG Sascha

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Ghizmo“ ()

    In der Tat war da ein Klammerfehler, dankeschön. Allerdings habe ich nun einen

    Laufzeitfehler 1004 Anwendungs- oder objektdefinierter Fehler

    VB.NET-Quellcode

    1. 'AVVG_AnAO übertragen
    2. Sheets("AVVG_AnAO").Select
    3. Sheets("AVVG_AnAO").Copy Bevor:=Sheets(1)
    4. Sheets("AVVG_AnAO (2)").Select
    5. Cells.Select
    6. Selection.Copy
    7. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    8. Sheets("AVVG_AnAO (2)").Select
    9. Sheets("AVVG_AnAO (2)").Move Before:=Workbooks(MiniVGAL).Sheets(1)
    10. Windows(Dateiname).Activate
    Hm, nun funktioniert es wieder. Habs nochmal neu zusammengetragen

    Glaube am Code hat sich nichts entscheidendes verändert ....

    VB.NET-Quellcode

    1. Sheets("AVVG_AnAO").Select
    2. Sheets("AVVG_AnAO").Copy Before:=Sheets(1)
    3. Sheets("AVVG_AnAO (2)").Select
    4. Cells.Select
    5. Selection.Copy
    6. Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    7. :=False, Transpose:=False
    8. Sheets("AVVG_AnAO (2)").Select
    9. Application.CutCopyMode = False
    10. Sheets("AVVG_AnAO (2)").Move Before:=Workbooks(MiniVGAL).Sheets(1)
    11. Windows(Dateiname).Activate
    Post#3, Zeile#3: Sheets("AVVG_AnAO").Copy Bevor:=Sheets(1)
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.