Anzeige
Archiv - Navigation
1836to1840
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 9 und trotzdem ok

Laufzeitfehler 9 und trotzdem ok
28.06.2021 14:06:26
Markus
Hallo ihr Lieben,
ich stehe gerade etwas auf dem Schlauch und finde den Fehler nicht. Ich greife von einer Mappe auf eine andere Mappe zu und prüfe dabei, ob diese geöffnet ist. Das funktioniert soweit auch. Wenn er die andere Mappe aber öffnen soll bricht er theoretisch bei den workbooks.open ab und gibt mir eine Laufzeitfehler 9 Meldung, obwohl er dahinter die Daten in das Arbeitsblatt einträgt, wie er es soll und springt anschließend gleich zum nächsten Punkt. Wäre schön, falls mir jemand helfen kann.
LG Markus
pfad = "M:\Allgemein\Hollandt\Vorlagen\Flaschenautomatik\20210614_Losliste_Flaschen_Generell.xlsx"
Dim Ret
Ret = IsWorkBookOpen(pfad)
If Ret = True Then
MsgBox "Die Datei ist bereits geöffnet. Bitte später erneut versuchen"
Exit Sub
Else
Workbooks.Open pfad
Workbooks("20210614_Losliste_Flaschen_Generell.xlsx").Worksheets("Tabelle1").Activate
letztezeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
Cells(letztezeile + 1, 1).Value = grundflasche
Cells(letztezeile + 1, 2).Value = MonatAlsZahl & " / " & LosnummerAlsString
Cells(letztezeile + 1, 3).Value = AnfangsnummerA
Cells(letztezeile + 1, 4).Value = EndnummerA
Cells(letztezeile + 1, 5).Value = AnfangsnummerB
Cells(letztezeile + 1, 6).Value = EndnummerB
Cells(letztezeile + 1, 7).Value = Date
Cells(letztezeile + 1, 8).Value = linie
Workbooks("20210614_Losliste_Flaschen_Generell.xlsx").Save
Workbooks("20210614_Losliste_Flaschen_Generell.xlsx").Close
End If

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 9 und trotzdem ok
28.06.2021 14:28:04
Daniel
Hi
wann genau bricht er ab?
nach einem Workbooks.Open ist die damit geöffnete Datei automatisch das ActiveWorkbook und braucht nicht extra aktiviert zu werden.
eben so ist das ActiveSheet dann das aktive Blatt dieser Datei.
Dh alle Cells und Range ohne Tabellenblattangabe davor laufen dann auf dieses Blatt der geöffneten Datei ohne dass du erst was aktiveren musst.
btw. Select und Activate funktionieren nicht mehrstufig.
dh du musst immer erst die Mappe und danach das Tabellenblatt aktiveren, in zwei getrennten Schritten.
Aber wie gesagt, das ist hier nicht notwendig.
Wenn du sichergehen willst, dann gibst du Workbook und Tabellenblatt immer mit an:

letztezeile = Workbooks("20210614_Losliste_Flaschen_Generell.xlsx").Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlup).Row
Workbooks("20210614_Losliste_Flaschen_Generell.xlsx").Sheets("Tabelle1").Cells(letztezeile + 1, 1).Value = grundflasche
Workbooks("20210614_Losliste_Flaschen_Generell.xlsx").Sheets("Tabelle1").Cells(letztezeile + 1, 2).Value = MonatAlsZahl & " / " & LosnummerAlsString
...
um dir schreibarbeit zu sparen, kannst du die With-Klammer verwenden:

With Workbooks("20210614_Losliste_Flaschen_Generell.xlsx").Sheets("Tabelle1")
letztezeile = .Cells(Rows.Count, 1).End(xlup).Row
.Cells(letztezeile + 1, 1).Value = grundflasche
.Cells(letztezeile + 1, 2).Value = MonatAlsZahl & " / " & LosnummerAlsString
End with
Dort wo ein Ausdruck mit dem Punkt beginnt, wird das Objekt eingesetzt , dass bei WITH beschrieben ist.
damit kannst du dir die Wiederholungen im Code sparen.
außerdem würde ich auch den Dateinamen in eine Variable speichern.
Gruß Daniel
...
Anzeige
AW: Laufzeitfehler 9 und trotzdem ok
29.06.2021 07:39:51
Markus
Hallo Daniel,
vielen Dank für deine Antwort. Er hat direkt nach dem open abgebrochen. Ich habe es gestern noch einmal probiert, ohne etwas daran zu ändern nur, dass ich einen Haltepunkt hinter den open gemacht habe und es hat funktioniert. Das sind immer solche Sachen, die ich nicht verstehe.
LG Markus

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige