435 Aufrufe
Gefragt in Datenbanken von
Bearbeitet

Private Sub CommandButton1_Click()
Dim sPath As String
  sPath = "C:\Users\Andreas\Desktop\test.xlsx"
Documents.Open (strPath)    'Hier bekomme ich "Laufzeitfehler`424`: Objekt erforderlich" ist aber dort ist Sichtbar in Combobox
End Sub
Private Sub UserForm_Initialize()
        Dim strPath     As String
        Dim strFile     As String
        Dim strTabName  As String

'das Verzeichnis anpassen!

                 strPath = "C:\Users\Andreas\Desktop\test\"
                 strFile = Dir(strPath & "*.xlsx")
    With ComboBox1
       .Clear
       Do Until strFile = ""
          .AddItem Left(strFile, Len(strFile) - 4)
          strFile = Dir
       Loop
    End With
End Sub

5 Antworten

0 Punkte
Beantwortet von computerschrat Profi (32.2k Punkte)
Hallo Andreas,

liegt es eventuell daran, dass strPath an dieser Stelle gar nicht definiert ist und du eigentlich sPath gemeint hast?

Gruß computerschrat
0 Punkte
Beantwortet von
hi.

erst mal danke für deine antwort

Ich bin mir da nicht sicher, ich möchte gerne auf Mehrere Excel tabellen zugreifen und mit userform und combobox seh ich die dateien aber sobald ich auf den Commandbutton die sich auch auf der userform befindet drauf clicke dann kommt der fehler.

Gruß Andreas
0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)

Hallo,

da du mit Excel arbeitest, musst du die Excel-Datei mit Workbooks.Open öffnen. Außerdem hast du, wie computerschrat ja schon richtig dargelegt hat, eine leere Variable in deiner Open-Anweisung.

Hier mal ein Beispiel für einen funktionierenden Code:

Private Sub CommandButton1_Click()
Dim sPath As String
 
  sPath = "C:\Users\Andreas\Desktop\test\" & ComboBox1.Value & ".xlsx"
  Workbooks.Open (sPath)
  Unload Me
 
End Sub


Private Sub UserForm_Initialize()

 Dim strpath     As String
 Dim strFile     As String
 Dim strTabName  As String

'das Verzeichnis anpassen!
strpath = "C:\Users\Andreas\Desktop\test\"
strFile = Dir(strpath & "*.xlsx")
    
    With ComboBox1
       .Clear
       Do Until strFile = ""
                   
          .AddItem Left(strFile, InStr(strFile, ".") - 1)
          strFile = Dir
       Loop
       '1. Eintrag auswählen
       .ListIndex = 0
    End With

End Sub

Gruß

M.O.

0 Punkte
Beantwortet von
Hallo M.O.

Hammer genau das was ich wollte, vielen lieben Dank.

Bin nicht so vba erfahren. ich hoffe mein Fehler war nicht so schwer rauszufinden.

Nochmal danke danke danke

Mfg Andreas
0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)

Hallo Andreas,

vielen Dank für die Rückmeldung. Der Fehler war nicht schwer zu finden, ich habe schon etwas VBA-Erfahrung wink.

Gruß

M.O.

...