Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

DialogÖffnen - schließen, wenn er sich öffnet
#11
Hallo Julia,

kleiner Hinweis am Rande. Es heißt ElseIf und nicht Else If!
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • o0Julia0o
Antworten Top
#12
(26.03.2017, 21:55)atilla schrieb: Was will sie Jetzt mit Andres Vorschlag? Wenn sie es zum Laufen bringt, will sie dann die Formeln nicht reinschreiben, wenn die Datei nicht vorhanden ist?
Sie weiß doch, dass die Datei noch nicht vorhanden ist.
Ich weiß es nicht, ob die Datei vorhanden ist. Sie kann vorhanden sein, oder nicht. Und den Rest weißte ja dann schon. So verhindere ich, dass dieser Excel-Dateibrowser sich öffnet(ich könnte ihm ja ohnehin nicht die Datei zeigen, da sie nicht existiert).

@schauan
jo, danke. Das war das Problem. Jetzt funktioniert es :)
Antworten Top
#13
Question 
So funktioniert es. Allerdings, wenn die Variable Dateiname leer ist(Tabelle: "Tabelle1" Feld: "J111"), dann kommt trotzdem die MsgBox "Die Datei ist vorhanden". Wenn allerdings irgendetwas in dem Feld steht, dann kommt die MsgBox nicht.
Code:
Sub prcHoleDaten() 'funktioniert, die Funktion GetDataClosedWB muß vorhanden sein im Modul
   Dim Pfad            As String
   Dim Dateiname       As String
   Dim Blatt           As String
   Dim Bereich         As String
   Dim Ziel            As Range
   Pfad = ThisWorkbook.Path & "\" 'Pfad wo sich die Datei befindet aus der kopiert werden soll. Also gleiches Verzeichnis wo sich die Hauptdatei befindet.
   Dateiname = Worksheets("Calc3").Range("J111").text 'aus welcher Datei soll er holen?
   Blatt = "Tabelle1"  'von welcher Tabelle soll er holen?
   Bereich = "A6:AE40"   'aus welchem Bereich soll er holen?
   Set Ziel = Worksheets("Tabelle1").Range("A6")  'in welchen Bereich soll er kopieren? Genauer gesagt: Bei welcher Zelle soll er anfangen, Datein reinzukopieren? Bsp: ActiveCell geht auch
    If Dir(Pfad & Dateiname) <> "" Then 'Wenn die Datei vorhanden ist, dann..
       MsgBox "Die Datei ist vorhanden"
       If GetDataClosedWB(Pfad, Dateiname, Blatt, Bereich, Ziel) Then '..hole die Daten..
       Exit Sub
       End If
     Else '..sonst Ende(damit der nicht bei Nichtvorhanden Dateien, nach den Dateien fragt per Browser)
   End If
End Sub

Fragt der nicht mit "If Dir(Pfad & Dateiname) <> """" ab, ob die Datei(Dateiname) in dem Pfad(Pfad) vorhanden ist? Wenn die Datei aber "" heißt, ist sie doch nicht vorhanden, weil es eine Datei ohne Namen doch gar nicht geben kann.
Antworten Top
#14
Hallo Julia,

auch wieder aus der OH (diesmal zur Dir-Funktion)

Zitat:Gibt eine Zeichenfolge (String) zurück, die den Namen einer Datei, eines Verzeichnisses oder eines Ordners darstellt, der mit einem bestimmten Suchmuster, einem Dateiattribut oder mit der angegebenen Datenträger- bzw. Laufwerksbezeichnung übereinstimmt.

Da es den Ordner gibt, ist die Bedingung wahr. Versuche es mal so

Code:
If Dir(Pfad & Dateiname) <> "" And Dateiname <> "" Then
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • o0Julia0o
Antworten Top
#15
Hallo Stefan,

(27.03.2017, 17:39)Steffl schrieb: Da es den Ordner gibt, ist die Bedingung wahr. Versuche es mal so

das ist nicht war: Ist der Ordner leer, gibt Dir() ohne Suchmuster auch Leer zurück, sonst halt die erste Datei des Ordners.

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • o0Julia0o
Antworten Top
#16
Hallöchen,

Altrnativ zu Steffls Codevirschlag könnte man noch

If Dir(...) = Dateiname ...

Nehmen
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • o0Julia0o
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste