Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1724to1728
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

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

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
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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige