Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1820to1824
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

Laufzeitfehler 9
31.03.2021 16:26:34
Timo
Hallo zusammen,
folgender Code steht in einem allg Modul in der Mappe "Anfrageformular" und soll eine weitere _
Arbeitsmappe öffnen:

Sub Projektliste_oeffnen()
Dim pfad As String
pfad = Workbooks("Anfrageformular").Sheets("Sheet").Cells(4, 3).Value
Workbooks.Open pfad
End Sub

So weit so gut... Funktioniert bei mir. Sobald ich diesen Code jedoch in einem anderen Netzwerk _
probiere kommt folgender laufzeitfehler:

Laufzeitfehler '9':
Index außerhalb des gültigen Bereichs

Das steht in Zelle C4 im Anfrageformular:

C:\Users\user\Desktop\company\name\Projektliste.xlsm

Hat jemand eine Ahnung?

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 9
31.03.2021 16:39:52
Hajo_Zi
ich vermute auf Deinem Rechner geht es, auf einen andere Rechner geht er nicht da der Ordner und die Datei nicht vorhanden ist.
Bild
Homepage

AW: Laufzeitfehler 9
31.03.2021 16:40:44
ralf_b
Ahnung? Es liegt am Pfad. Anderes Netzwerk bedeutet genau was?

AW: Laufzeitfehler 9
31.03.2021 16:54:23
Timo
Ich vergaß anzumerken, dass der Pfad natürlich angepasst wird. Automatisch wird der Pfad der zu öffnenden Mappe ("Projektliste") erzeugt und der User soll dies in die Zelle C4 ("Anfrageformular") kopieren, von wo der Code abgreift.
Code in der zu öffnenden mappe:
Sub Schaltfläche1_Klicken()
Sheets("Pfad").Cells(6, 2).Value = ThisWorkbook.Path & "\" & ThisWorkbook.Name
'Variablen definieren
Dim pfad As String
Dim auszug As String
pfad = Sheets("Pfad").Cells(6, 2).Value
'Die ersten 4 Zeichen von links betrachten
auszug = Left(pfad, 4)
If auszug = "http" Then
Sheets("Pfad").Cells(6, 2).Value = ThisWorkbook.Path & "/" & ThisWorkbook.Name
Else
Sheets("Pfad").Cells(6, 2).Value = ThisWorkbook.Path & "\" & ThisWorkbook.Name
End If
End Sub


Anzeige
AW: Laufzeitfehler 9
31.03.2021 16:55:56
Timo
Ich vergaß anzumerken, dass der Pfad natürlich angepasst wird. Automatisch wird der Pfad der zu öffnenden Mappe ("Projektliste") erzeugt und der User soll dies in die Zelle C4 ("Anfrageformular") kopieren, von wo der Code abgreift.
Code in der zu öffnenden mappe:
Sub Schaltfläche1_Klicken()
Sheets("Pfad").Cells(6, 2).Value = ThisWorkbook.Path & "\" & ThisWorkbook.Name
'Variablen definieren
Dim pfad As String
Dim auszug As String
pfad = Sheets("Pfad").Cells(6, 2).Value
'Die ersten 4 Zeichen von links betrachten
auszug = Left(pfad, 4)
If auszug = "http" Then
Sheets("Pfad").Cells(6, 2).Value = ThisWorkbook.Path & "/" & ThisWorkbook.Name
Else
Sheets("Pfad").Cells(6, 2).Value = ThisWorkbook.Path & "\" & ThisWorkbook.Name
End If
End Sub


Anzeige
AW: Laufzeitfehler 9
31.03.2021 17:06:39
ralf_b
verstehe ich das richtig?
Der Pfad der Mappe, welche geöffnet werden soll, wird in der selben Mappe per Schaltfläche_Click in eine bestimmte Zelle geschrieben. Und ein User kopiert diesen Pfad um die Mappe dann zu öffnen. Klingt wie eine Geschichte aus Schilda.

AW: Laufzeitfehler 9
31.03.2021 17:19:53
Timo
In der Ziel-Mappe wird der Pfad erzeugt, damit auch jeder User den richtigen Pfad erhält.
Dieser kopiert der User dann in die Ausgangs-Mappe.
Somit kann die Ausgangs-Mappe von jeglichen Netzwerken und Ablageorten die Ziel-Mappe erreichen.
Find die Story gar nicht so spannend ;)

AW: Laufzeitfehler 9
31.03.2021 17:43:34
Timo
Hast du eine Idee, wie ich diese "Geschichte" effizienter lösen kann?
Hat jemand eine Ahnung warum ich diesen Fehler erhalte?

Anzeige
AW: Laufzeitfehler 9
31.03.2021 17:46:25
Daniel
Hi
in welcher Zeile genau kommt der Fehler?
Laufzeitfehler 9 lautet ja "Index außerhalb des gültigen Bereichs" und deutet in Zeilen mit Workbook(...) oder Sheets(...) in der Regel darauf hin, dass man den Workbook- oder Sheetnamen in der Klammer falsch geschrieben hat.
also dass die Datei eben nicht "Anfrageformular" oder das Sheet nicht "Sheet" heißt.
der Dateiname für das Workbook enthält normalerweise auch die Dateierweiterung, dh die Datei heißt reguläre "Anfrageformular.xlsx" (bzw ".xlsm" oder ".xlsb")
die fehlt bei dir.
Normalerweise sollte sie da sein. Vermutlich hast du eine Einstellung, dass die Dateierweiterung bei dir ausgeblendet wird, welche aber im anderen Netzwerk nicht greift, so dass sie da dann vorhanden ist und somit dein Dateiname nicht mehr stimmt.
Gruß Daniel

Anzeige
AW: Laufzeitfehler 9
31.03.2021 18:04:44
Timo
Hi,
der Fehler kommt in der Zeile
    pfad = Workbooks("Anfrageformular").Sheets("Sheet").Cells(4, 3).Value
Du meinst ich soll versuchen zu schreiben:
    pfad = Workbooks("Anfrageformular.xlsm").Sheets("Sheet").Cells(4, 3).Value
Vielen Dank!!

AW: Laufzeitfehler 9
31.03.2021 18:30:55
Timo
Leider hat es mit dem Namenszusatz nicht geklappt und derselbe Fehler kommt noch in derselben Zeile.
Ist es nicht komisch, dass der Fehler in der Zeile kommt, in der lediglich die Variable eingelesen wird?
Sollte der Name oder Pfad nicht stimmen, so müsste der Fehler doch in der Zeile
     Workbooks.Open pfad
kommen.
Oder täusche ich mich

Anzeige
AW: Laufzeitfehler 9
31.03.2021 21:56:38
Timo
Daniel du hattest Recht!
Der Fehler lag tatsächlich an der *.xlsm-Benennung.
Vielen Dank für deine Hilfe!
Also merke: Wenn der Kunde auf einer anderen Excel-Version arbeitet müssen möglicherweise Dateibenennungen angepasst werden.
Für mich habe ich jetzt so gelöst: benennung.xlsm.xlsm
Dadurch funkt der Code auf beiden.
Ladys

AW: Laufzeitfehler 9
01.04.2021 10:28:58
Daniel
Hi
man könnte das auch so lösen:
dim ws as workbook
for each ws in application.Workbooks
if ws.name like "Anfrageformular*" then exit for
next
if ws is nothing then
msgbox "Sorry, Datei "Anfrageformular ist nicht geöffnet"
exit sub
end if
pfad = ws.Sheets("Sheet").Cells(4, 3).value

wenn man auf die eigene Mappe beziehen will (also die, die den Code enthält), dann verwendet man einfach THISWORKBOOK.
Dann spielt der Name keine Rolle.
Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige