The spreadsheet doesn't open?
Hello, I have a button that I want to use to open a file and an input form directly within it. My current code activates/opens the file, but what I'm missing is a direct display of the input form. I'm posting the code here in hopes of finding a solution. I just can't seem to get any further.
Private Sub CommandButton1_Click() Dim ws As Worksheet Dim passwort As String Dim pfad_zur_datei As String Dim wb As Workbook Dim bestaetigung As VbMsgBoxResult ' Bestätigungsnachricht anzeigen und Passwort abfragen bestaetigung = MsgBox("Möchten Sie fortfahren?", vbQuestion + vbYesNo, "Bestätigung") ' Wenn der Benutzer auf "Ja" klickt If bestaetigung = vbYes Then passwort = InputBox("Geben Sie das Passwort ein:", "Passwortabfrage") ' Überprüfe das eingegebene Passwort If passwort = "123" Then ' Ersetze "dein_passwort" durch das gewünschte Passwort ' Konstruiere den vollständigen Pfad zur Datei pfad_zur_datei = "G:\NEU Reduziert für DEMO.xlsm" ' Passe den Pfad an ' Überprüfe, ob das Arbeitsblatt "Auswahlklick" existiert On Error Resume Next Set ws = Workbooks.Open(pfad_zur_datei).Worksheets("Auswahlklick") On Error GoTo 0 ' Wenn das Arbeitsblatt existiert, aktiviere es If Not ws Is Nothing Then ws.Activate Else MsgBox "Das Arbeitsblatt 'Auswahlklick' wurde nicht gefunden.", vbExclamation Exit Sub End If Else MsgBox "Falsches Passwort. Der Zugriff wurde verweigert.", vbExclamation Exit Sub End If Else MsgBox "Vorgang abgebrochen.", vbInformation Exit Sub End If ' Hier den restlichen Code ausführen, der auf dem geöffneten Arbeitsblatt "ws" basiert End Sub
Danke, habe es jetzt anders gelöst. Warum nun kein Problem zum finden des “Pfades” besteht, erschließt sich mir nicht. Schöne Feiertage wünsche ich. Gruß Wolly
Private Sub CommandButton1_Click()
Dim wb As Workbook
Dim ws As Worksheet
Dim bestaetigung As VbMsgBoxResult
Dim passwort As String
‘ Bestätigungsnachricht anzeigen und Passwort abfragen
bestaetigung = MsgBox(“Möchten Sie fortfahren?”, vbQuestion + vbYesNo, “Bestätigung”)
‘ Wenn der Benutzer auf “Ja” klickt
If bestaetigung = vbYes Then
passwort = InputBox(“Geben Sie das Passwort ein:”, “Passwortabfrage”)
End If
‘ Überprüfe das eingegebene Passwort
If passwort = “123” Then ‘ Ersetze “dein_passwort” durch das gewünschte Passwort
End If
‘ Pfad zur Datei mit “Tabelle8”
Dim pfad_zur_datei As String
pfad_zur_datei = “G:\Rheumaliga\1_Quartal_2024.xlsm”
‘ Öffne die Arbeitsmappe
Set wb = Workbooks.Open(pfad_zur_datei)
‘ Überprüfe, ob die Arbeitsmappe geöffnet wurde
If Not wb Is Nothing Then
‘ Überprüfe, ob das Arbeitsblatt “Tabelle8” existiert
On Error Resume Next
Set ws = wb.Sheets(“Tabelle1”)
On Error GoTo 0
‘ Wenn das Arbeitsblatt gefunden wurde, aktiviere es
If Not ws Is Nothing Then
ws.Activate
Else
MsgBox “Das Arbeitsblatt ‘Tabelle1’ wurde nicht gefunden.”, vbExclamation
End If
Else
MsgBox “Die Datei konnte nicht geöffnet werden.”, vbExclamation
End If
End Sub
Userform.Show sollte der entsprechende Befehl sein.
Da es eine xlsm-Datei ist, am besten dort beim Workbook.Open machen.
Ich möchte eine Tabelle mit dem Code öffnen. Eine Userform ist hier nicht angezeigt. Geht vielleicht ein Codeabschnitt, der zur Lösung führen würde?
Ich kann auf dem ersten Blick keinen Fehler im Code erkennen. Hast du den Pfad angepasst auf deine Wunschdatei?
Sieht für mich auch richtig aus.
Versuch es auf einem alternativen Weg. Aktiviere zunächst Worksheets(1) und taste dich dann bis zu deinem Worksheet vor.
Dritte Möglichkeit: Versuch es mit wb.Auswahlklick.
Du kannst dir auch in einer Schleife die Namen der Worksheets ausgeben lassen.
Meiner Erinnerung nach kann das Tabellenobjekt einen anderen Namen haben als die Bezeichnung der Tabelle.
Wenn alles nichts hilft, setzt du im wb ein Makro und debugst das wb-Objekt.
Der Fehler ist in Zeile:
Set ws = wb.Worksheets(“Auswahlklick”)
mit der Meldung: Laufzeitfehler 9, Index außerhalb des gültigen Bereichs.
Ich habe den Pfad reinkopiert und die Tabelle “Auswahlklick” ist ja vorhanden.
Auf den ersten Blick müsste eigendlich alles richtig sein.
Der Codeteil in dem es stockt.
If passwort = “123” Then ‘ Ersetze “dein_passwort” durch das gewünschte Passwort
‘ Konstruiere den vollständigen Pfad zur Datei
pfad_zur_datei = “G:\NEU Reduziert für DEMO.xlsm” ‘ Passe den Pfad an
‘ Überprüfe, ob das Arbeitsblatt “Auswahlklick” existiert
On Error Resume Next
Set wb = Workbooks.Open(pfad_zur_datei)
On Error GoTo 0
If Not wb Is Nothing Then
Set ws = wb.Worksheets(“Auswahlklick”)
If Not ws Is Nothing Then
ws.Activate ‘ Arbeitsblatt “Auswahlklick” aktivieren