Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1868to1872
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Laufzeitfehler, wenn weitere Datei offen

Laufzeitfehler, wenn weitere Datei offen
07.02.2022 14:55:00
Jane
Hallo zusammen,
ich habe ein Problem in meinem Code. Der Fehler tritt auch nur auf, wenn eine weitere Excel-Datei bereits geöffnet ist.
Das ist der Code:

Option Explicit
Public MACountOverview As Long
Public MACount(1 To 12) As Long
Public startRowJahr As Long
Public startRowMonat As Long
Public contentCount As Long         'erste leere Zeile der Jahresübersicht
Public nmonth As Integer            'Zähler für MACount & newRow
Public monthtab As Integer          'Zähler für Monatstabellen
Sub Count()
startRowJahr = 6
startRowMonat = 7
'Anzahl der Gesamtübersicht
MACountOverview = WorksheetFunction.CountA(Worksheets(1).Range("A7:A1000"))
contentCount = MACountOverview + startRowJahr
'Anzahl pro Monatstabelle
monthtab = 2
For nmonth = 1 To 12
MACount(nmonth) = WorksheetFunction.CountA(Worksheets(monthtab).Range("A8:A1000"))
newRow(nmonth) = MACount(nmonth) + startRowMonat
monthtab = monthtab + 1
Next
End Sub
Wie man eventuell schon erkennen kann, geht es um eine Jahresübersicht und Monatsübersichten. Die Jahresübersicht ist das Tabellenblatt 1, weshalb die Monate über die Tabellenblätter 2-13 gehen.
Die Zeile MACount(nmonth) = WorksheetFunction.CountA(Worksheets(monthtab).Range("A8:A1000")) erzeugt im Tabellenblatt 5 immer einen Laufzeitfehler 9: Index außerhalb des gültigen Bereichs.
Dazu noch als Hinweis: Beim Testen habe ich einfach eine Blanko-Excel-Datei geöffnet, also kein Code und kein Tabellenblatt 5 vorhanden. Muss ich im Code irgendwie auf die eine Datei beschränken?
Ich danke euch schon im Voraus für eure Hilfe und Unterstützung.

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler, wenn weitere Datei offen
07.02.2022 15:01:37
Rudi
Hallo,

Muss ich im Code irgendwie auf die eine Datei beschränken?
Besser ist das

'Anzahl der Gesamtübersicht
With ThisWorkbook
MACountOverview = WorksheetFunction.CountA(.Worksheets(1).Range("A7:A1000"))
contentCount = MACountOverview + startRowJahr
'Anzahl pro Monatstabelle
monthtab = 2
For nmonth = 1 To 12
MACount(nmonth) = WorksheetFunction.CountA(.Worksheets(monthtab).Range("A8:A1000"))
newRow(nmonth) = MACount(nmonth) + startRowMonat
monthtab = monthtab + 1
Next
End With
Gruß
Rudi
Anzeige
AW: Laufzeitfehler, wenn weitere Datei offen
07.02.2022 15:08:20
Jane
Hi,
erstmal vielen Dank für die schnelle Rückmeldung. Ich habe es direkt angepasst und ausprobiert. Leider besteht der Fehler weiterhin. Gibt es noch etwas anderes, was ich ggf. berücksichtigen muss?
Viele Grüße
Jane
AW: Laufzeitfehler, wenn weitere Datei offen
07.02.2022 15:15:50
Rudi
hast du auch auf den . vor Worksheets geachtet?
AW: Laufzeitfehler, wenn weitere Datei offen
07.02.2022 15:36:39
Jane
Das ist super unangenehmen... natürlich hatte ich den Punkt vergessen. Der ist jetzt auch drin und es klappt. Vielen, vielen Dank!
Ich habe allerdings noch eine Frage/Problem:
Wenn ich jetzt die Excel-Datei mit dem Code öffne und eine bereits geöffnete Excel-Datei habe, bleibt die Excel-Datei mit dem Code nach dem Öffnen im Hintergrund. Muss die Excel-Datei mit dem Code erst aktiviert werden oder muss ich den Code irgendwie anpassen?
Anzeige
AW: Laufzeitfehler, wenn weitere Datei offen
07.02.2022 15:49:16
Rudi
Hallo,
der Code wirkt sich durch ThisWorkbook nur auf die Mappe aus, in der er steht.
Gruß
Rudi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige