Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Flexibler Dateiaufruf

Forumthread: Flexibler Dateiaufruf

Flexibler Dateiaufruf
27.11.2019 11:01:56
Christian
Hallo zusammen, ich versuche gerade, einen Datenimport (Textdatei) über ein Makro ausführen zu lassen. Das klappt auch ganz gut. Das, was mich stört, ist, dass die Datei, die ich einfügen möchte, flexibel gewählt werden soll. Hier das Makro:
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Users\christian.moerling\Desktop\Test_FS_Balance.txt", Destination:= _
Range("Basis!$A$2"))

.CommandType = 0
.Name = "ExterneDaten_2"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 65001
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
Den fett hervorgehobenen Bereich würde ich gerne flexibel gestalten, so dass sich das übliche Fenster für die Dateiauswahl öffnet und das Makro dann weiter läuft. Ginge das?
LG Christian
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Flexibler Dateiaufruf
27.11.2019 11:12:03
Torsten
Hallo Christian,
versuch mal (ungetestet):

Dim strConn As String, strDest As String
strConn = Application.GetOpenFilename("Text Files (*.txt), *.txt")
If strConn = False Then Exit Sub
With ActiveSheet.QueryTables.Add(Connection:=strConn, Destination:=Range("Basis!$A$2"))
.CommandType = 0
.Name = "ExterneDaten_2"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 65001
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With

Gruss Torsten
Anzeige
AW: Flexibler Dateiaufruf
27.11.2019 11:14:15
Torsten
Sorry,
hatte was uebersehen. Diese Zeile dann bitte so:

With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & strConn, Destination:= _
Range("Basis!$A$2"))

AW: Flexibler Dateiaufruf
27.11.2019 11:38:26
Christian
Hallo Torsten,
vielen Dank! Klappt super. Er "meckert" nur bei "If strConn = False Then Exit Sub" = Typen unverträglich. Nun gut, die Zeile brauche ich nicht unbedingt, aber wenn du noch eine Idee hast, nehme ich die gerne
Anzeige
AW: Flexibler Dateiaufruf
27.11.2019 12:02:26
Torsten
Ja diese ist eigentlich, um den Fehler abzufangen, wenn im File Dialog auf abbrechen geklickt wird. Hab ich nicht ganz richtig gemacht. Hier nochmal. Das sollte klappen:

Option Explicit
Sub test()
Dim strConn As Variant, strDest As String
strConn = Application.GetOpenFilename("Text Files (*.txt), *.txt")
If strConn = False Then
Exit Sub
Else
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & strConn, Destination:=Range("Basis!$A$2") _
)
.CommandType = 0
.Name = "ExterneDaten_2"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 65001
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = True
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End If
End Sub

Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige