Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1692to1696
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

Pfad & Dateinamen variabel ?

Pfad & Dateinamen variabel ?
18.05.2019 08:25:58
Michael
Hallo Zusammen,
ich verwende folgendes Makro, um eine csv-Datei in Excel einzulesen:
Sub Import_02()
With tbl_I1.QueryTables.Add(Connection:="TEXT;E:\Test\Dummy.csv" _
, Destination:=Range("$A$1"))
.TextFileStartRow = 2
.TextFileCommaDelimiter = True
.TextFileDecimalSeparator = "."
.Refresh BackgroundQuery:=False
End With
End Sub
Leider gelingt es mir nicht, den Pfad und den Dateinamen variabel in das Makro zu integrieren.
Hat jemand einen Vorschlag?
Vielen Dank für Eure Unterstützung.
Gruß
Michael

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Pfad & Dateinamen variabel ?
18.05.2019 08:41:19
Luschi
Hallo Michael,
hier mal mein Versuch:

Sub MachMal()
Dim pfad As String, datName As String
pfad = "E:\Test\"
datName = "Dummy.csv"
Call Import_02(pfad, datName)
End Sub
Sub Import_02(xPfad As String, xDatName As String)
With tbl_I1.QueryTables.Add(Connection:="TEXT;" & xPfad & xDatName, _
Destination:=Range("$A$1"))
.TextFileStartRow = 2
.TextFileCommaDelimiter = True
.TextFileDecimalSeparator = "."
.Refresh BackgroundQuery:=False
End With
End Sub
Gruß von Luschi
aus klein-Paris
Leider nicht!
18.05.2019 08:58:36
Michael
Hallo Luschi,
Dein Vorschlag funktioniert, solange ich den Pfad und Namen im Makro hinterlege.
Sobald ich auf benannte Zellen zugreife, wo ich Pfad und Name hinterlegt habe:
pfad = Range("rP1.Pfad").Value
datName = Range("rP1.Name").Value
kommte wieder die Felhlermeldung:
Laufzeitfehler 1004
Egal, ob die Angaben in der Zelle in Anführungszeichen setze oder nicht.
Vielen Dank und Gruß
Michael
Anzeige
Funktioniert doch …
18.05.2019 09:31:46
RPP63
Moin!
Kann ich nicht nachvollziehen!
Funktioniert bei mir anstandslos auch mit Range("rP1.Pfad")
Hast Du an den abschließenden Backslash gedacht?
Gruß Ralf
gelöst!
18.05.2019 09:31:51
Michael
Hallo Luschi,
vielen Dank für Deinen Vorschlag.
Er funktioniert perfekt (auch mit Pfad und Name in Zellen hinterlegt), wenn man:
With tbl_I1.QueryTables.Add(Connection:="TEXT;" + xPfad & xDatName, _
das & durch ein + ersetzt!
Das habe ich durch jetzt durch Zufall im Internet gefunden.
Vielen Dank und Gruß
Michael
AW: gelöst!
18.05.2019 10:49:45
Luschi
Hallo Michael,
das glaube ich nicht mit dem Plus-Zeichen - in Vba werden Textketten mit dem &-Zeichen verbunden!!!
Gruß von Luschi
aus klein-Paris
Anzeige
AW: gelöst!
18.05.2019 10:59:17
RPP63
Ist beides möglich, Luschi
Direktfenster:
?"Hallo" + " " + "Welt"

ergibt Hallo Welt
Allerdings schrieb ich ja bereits, dass Dein Code einwandfrei funktioniert.
Gruß Ralf
AW: Leider nicht!
18.05.2019 09:40:41
Luschi
Hallo Michael,
wenn 'rP1' der Tabellenname ist, den man im Tabellenregister sieht und Pfad ein lokal definierter Name in dieser Tabelle ist, dann so:
pfad = Range("rP1!Pfad").Value
ist es ein globaler Name, der sich auf die Arbeitsmappe bezieht, dann so:
pfad = Range("Pfad").Value
Welcher Zustand bei Dir vorherrscht, zeigt Dir der Namensmanager in der Spalte 'Bereich'.
Gruß von Luschi
aus klein-Paris
PS: Anstonsten hilt eine von Dir erstellte Demomappe weiter!
Anzeige
AW: Hier eine Demomappe
18.05.2019 16:12:19
Luschi
Hallo Michael,
also bei mir klappt:
Pfad = Range("rP1.Pfad").Value
Dateiname = Range("rP1.Name").Value
File = "TEXT;" + Pfad & Dateiname ' hier erfolgte der Austausch
Dafür ist der Code aber nicht kompilierfhig, weil Du
- eine Sprungmarke ansprichst, die nicht definiert ist
  'Import_Daten_Error'
- die Sub-Prozedur nicht mit 'End Sub' abgeschlossen wurde
  sondern da 'Exit Sub' steht
Gruß von Luschi
aus klein-Paris
Anzeige
D hast Recht
18.05.2019 16:51:35
Michael
Hallo Luschi,
Du hast völlig recht!
Das ist mir, nach zahreichen frustigen Versuchen, gar nicht aufgefallen.
Vielen Dank und noch ein schönes Wochenende
Michael

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige