MS-Office-Forum
Google
   

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads Der Renner, 11 Entwicklertools für Access, Tipps & Trick und offene Datenbanken zum einzigartigen Preis.
Themen-Optionen Ansicht
Alt 14.02.2018, 00:23   #1
janiki0812
Neuer Benutzer
Neuer Benutzer
Standard VBA - Amateur möchte Datei öffnen

Servus liebe leute.

Ich versuche mit vba eine Datei öffnen.

Der Code:

Code:

Private Sub cmd_AuftragAufrufen_Click()

    Dim aufrOrdner As String
    auftrOrdner = cb_Auftrag
    
    Dim aufrDatei As String
    auftrDatei = cb_Auftrag
    
    Workbooks.Open Filename:="C:UsersUserDesktopxx-Montagenxx-MontagenAufträge" & auftrOrdner &   auftrDatei & ".xlsx "
    

End Sub
Ich starre schon seit stunden auf diesen Code und ich bin schon betriebsblind, ich sehe den fehler nicht.

Kurz zur erklärung.
Ich möchte per Click auf die Combobox (cmd_AuftragAufrufen) eine bereits gespeicherte Datei öffnen.
Die Dateien und Ordner werden nach Inhalt von combobox (cb_Auftrag) gespeichert.

Ich würde mich freuen, wenn ihr mir weiterhelfen wollt und könnt.

Vielen Dank im Voraus,
viele grüße janiki
janiki0812 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.02.2018, 05:42   #2
Hajo_Zi
MOF Guru
MOF Guru
Standard

ich würde mal vermute da fehlen \
oder der Benutzername?
Ich habe das Zeichen 2x das Zeichen mit ändern eingefügt.

GrußformelHomepage

__________________

Signatur in jedem Beitrag
m Forum kann der Beitrag als erledigt markiert werden. Also mache es unten links mit Klick auf den Schalter "als erledigt setzen", falls Problem gelöst.
Der Zustand des Beitrages wird dann in der Übersicht angezeigt und man braucht sich diese Beiträge nicht mehr ansehen.
Bitte Version angeben. Bei keiner Angabe gehe ich von meinen Angaben aus.
Betriebssystem: Windows 10 - 64 Bit, Office 2016 - 32 Bit.

Geändert von Hajo_Zi (14.02.2018 um 05:55 Uhr).
Hajo_Zi ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.02.2018, 07:56   #3
MisterBurns
MOF Profi
MOF Profi
Standard

Wichtig ist, dass der Pfad so aussieht:

Code:

Workbooks.Open Filename:="C:\Users\User\Desktop\xx-Montagenxx-\Montagen\Aufträge\" & auftrOrdner & "\" &   auftrDatei & ".xlsx "
Die dämliche Forensoftware schluckt leider die Backslashes, man muss diese doppelt eingeben, damit sie einfach angezeigt werden. Ob ich jetzt in deinem Pfad alle Backslashes richtig gesetzt habe, musst du beurteilen.
Auf jeden Fall hat zwischen "auftrOrdner" und "auftrDatei" der BS gefehlt und vermutlich auch nach dem Ordner "Aufträge"

__________________

Schöne Grüße
Berni
MisterBurns ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.02.2018, 08:59   #4
haklesoft
MOF Koryphäe
MOF Koryphäe
Standard

Hallo janiki,

abgesehen vom möglicherweise fehlenden Backslash hast Du bei beiden Dim-Anweisungen jeweils ein "t" vergessen. Würdest Du Option Explicit benutzen, wäre Dir das sofort selbst aufgefallen. Außerdem musst Du unterschiedlichen Inhalt auf die beiden Variablen verteilen statt zweimal cb_Auftrag zu übernehmen.

__________________

Hang loose, haklesoft

Geändert von haklesoft (14.02.2018 um 09:16 Uhr). Grund: Nachsatz
haklesoft ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.02.2018, 01:18   #5
janiki0812
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Danke für eure Ratschläge!

Dass ich das T vergessen konnte ärgert mich, da ich sehr oft gelesen habe, aber schon betriebsblind war.

Wie kann ich das problem lösen haklesoft?
der Unterordner ist nämlich nach dem Inhalt cb_Auftrag benannt und die Datei darin auch.

Danke Hajo und mrburns. Wie schon richtig erwähnt, hat es die Backslashes leider weggekürzt.

Der Dateipfad ist sicher richtig. Es scheitert entweder an der vba forumlierung, dass ich auf falschem weg versuche die datei aufzrufen, oder eben wegen den variablen.
Ich würde mich freuen weiter tippsss zu lesen.

beste grüße
niki
janiki0812 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.02.2018, 07:34   #6
MisterBurns
MOF Profi
MOF Profi
Standard

Hast du meinen Code wirklich genau angeschaut? Der Backslash zwischen "auftrOrdner" und "auftrDatei" fehlt in deinem Code, den hat es sicher nicht weggekürzt, sonst wären zumindest die & und " zu sehen.

Code:

auftrOrdner & "" &   auftrDatei
Wenn außerdem Ordner und Datei sowieso immer gleich heißen, wozu dann Variable?

__________________

Schöne Grüße
Berni
MisterBurns ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.02.2018, 23:51   #7
janiki0812
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo.
Entschuldigt bitte die ewige beantwortungszeit die ich benötige.
Leider komme ich immer erst abends zum pc und excel.

Ich habe vergessen zu erwähnen, dass ich den Code schon nach deiner Vorgabe abgeändert habe.
Ich habe hier ein Bild angefügt um zu zeigen wie der Code jetzt ist.



nochmals danke für eure unterstützung!

lg janiki
janiki0812 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.02.2018, 23:54   #8
janiki0812
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

scheinbar bin ich zu doof BS und bilder einzufügen

ich versuche es jetzt nochmal BS statt

Workbooks.Open Filename:="C:BSUsersBSUserBSDesktopBSxx-MontagenBSxx-MontagenBSAufträgeBS" & auftrOrdner & "BS" & auftrDatei & ".xlsx "
Workbooks.Open Filename:="C:UsersUserDesktopxx-Montagenxx-MontagenAufträge" & auftrOrdner & "" & auftrDatei & ".xlsx "

Geändert von janiki0812 (15.02.2018 um 23:57 Uhr). Grund: formatierung
janiki0812 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.02.2018, 07:14   #9
MisterBurns
MOF Profi
MOF Profi
Standard

So, jetzt mal folgendes:

1. Du willst eine Combobox anklicken, damit sich die Datei öffnet? Wozu soll das gut sein? Warum nicht ein Button? Das Clickereignis für Comboboxen ist mir unbekannt. Oder meinst du Combobox_Change()?

2. Du musst die Variablen unter Anführungszeichen setzen, sprich
Code:

auftrOrdner = "cb_Auftrag"
3. Ich wiederhole die Frage - wozu Variablen, wenn der Name doch eh fix vorgegeben ist?

4. Hast du den Hinweis von haklesoft in Beitrag #4 gelesen und angewandt?

__________________

Schöne Grüße
Berni
MisterBurns ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.02.2018, 09:25   #10
haklesoft
MOF Koryphäe
MOF Koryphäe
Standard

Um mit dem Rumgeeiere aufzuhören habe ich den Ausgangscode ein wenig angepasst:
Code:

Option Explicit

Private Sub cmd_AuftragAufrufen_Click()
    Dim auftrOrdner As String
    Dim auftrDatei As String
    Dim sUsername As String
    Dim sFullname As String
    Dim sBS As String
    
    sBS = Application.PathSeparator ' wegen der Backslash-Forumsmacke
    auftrOrdner = cb_Auftrag        ' Dies funktioniert natürlich nur, wenn
    auftrDatei = cb_Auftrag         ' Verzeichnis und Dateiname identisch lauten!
    sUsername = Environ("USERNAME") ' lokalenUsername holen
    ' Dateinamen zusammenstellen:
    sFullname = "C:" & sBS & "Users" & sBS & sUsername & sBS & "Desktop" & sBS & _
        "xx-Montagen" & sBS & "xx-Montagen" & sBS & "Aufträge" & sBS & _
        auftrOrdner & sBS & auftrDatei & ".xlsx"

    If Dir(sFullname, vbNormal) = "" Then
        MsgBox sFullname, vbCritical, "Datei nicht gefunden. Bitte Verzeichnis und Dateiname überprüfen!"
    Else
        Workbooks.Open Filename:=sFullname
    End If

End Sub
@Berni
Zu1: Der TE zeigt einen CommandButton-Code, möchte ggf. auf den Button verzichten. Das Click-Ereignis einer Active-X-ComboBox wäre dafür durchaus geeignet.

Zu 2: nein, cb_Auftrag wird nicht in Anführungszeichen gesetzt.

Zu 3: Da in der ComboBox unterschiedliche Einträge gelistet sind, gibt es auch unterschiedliche Pfade und Dateinamen.

__________________

Hang loose, haklesoft

Geändert von haklesoft (16.02.2018 um 09:29 Uhr).
haklesoft ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.02.2018, 09:35   #11
MisterBurns
MOF Profi
MOF Profi
Standard

zu 2: komisch, dass es dann bei mir nur funktioniert hat, als ich Anführungszeichen verwendet habe (mit dem ursprünglichen Code des TE)

zu 3: Müsste man dann nicht auf die Combobox verweisen, statt einen fixen Ordner- und Dateinamen vorzugeben?

Aber da das ja alles Rumgeeiere ist eigentlich egal

__________________

Schöne Grüße
Berni
MisterBurns ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.02.2018, 09:44   #12
haklesoft
MOF Koryphäe
MOF Koryphäe
Standard

Ich setze voraus, dass cb_Auftrag eine ComboBox mit unterschiedlichen Einträgen ist.

__________________

Hang loose, haklesoft
haklesoft ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.02.2018, 15:41   #13
janiki0812
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Hallo!

Vielen Dank euch beiden. es freut mich sehr, dass ihr mir so sehr geholfen habt.

Es funktioniert!
Dieser Coder dient dazu:

Ich erstelle in Userform 1 einen neuen Auftrag.
Da werden dann alle daten in eine vorlage geschrieben und zusätzlich intern in diversen Tabellen (für Mahnwesen, buchhaltung usw) eingetragen.

In userform 2 "Auftragsübersicht/Bearbeiten" kann ich in einer Combobox alle erstellten Aufträge aufrufen. mit click auf cmd soll es damm alle textboxen oder diverses füllen.

Das Problem war in userform 1, bei der Auftragserstellung und übertrag in die tabelle wurde der - nicht mitgenommen, aber die ordner und dateinamen werden mit - gespeichert. leider ein sehr zeitintensiver fehler meinerseits.

zeitintensiv deswegen, weil ihr eure zeit opfert und mir versucht zu helfen.
Habt ihr auch, weil der Dateipfad nicht korrekt geschrieben wurde.

DAnke für eure Lösung!

beste Grüße,
Janiki
janiki0812 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 16.02.2018, 17:10   #14
janiki0812
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Ich habe gerade richtige schwierigkeiten
die verscheidenen Schreibarten zu verbinden, da ich wie erwähnt ein amateur bin.

Wie kann ich

Code:

Dim myWbk As Workbook
    Set myWbk = Workbooks.Open(auftrDatei & ".xlsx")
    
    
    Dim tabAuftr
    Set tabAuftr = myWbk.Worksheets("Auftragsdaten")
    Dim tabBerech
    Set tabBerech = myWbk.Worksheets("Berechnung")
    
    
    Me.tb_Auftragsnummer = tabAuftrag.Cells(4, 2)
    Me.tb_Kundennummer = tabAuftrag.Cells(8, 2)
    Me.tb_Firmenname = tabAuftrag.Cells(10, 2)
auf deinem code anpassen?

Wenn ich es so mache, dann bekomme ich den Fehler Merfachdeklaration im aktuellem Gültigkeitsbereich.

Danke ein weiteres mal für eure hilfe
janiki0812 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:33 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2010 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günther Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.
Beachten Sie bitte auch unsere Nutzungsbedingungen.