| |
Visual-Basic EinsteigerEinfügen einer txt-Datei | | | Autor: DominikC2 | Datum: 15.09.18 00:45 |
| Hallo zusammen,
ich würde gerne durch ein Makro eine txt-Datei auswählen, konvertieren und in ein bestimmtes Tabellenblatt einfügen. Ich bin aber bis Dato nur bis zum nachfolgenden Code gekommen. Das Problem was ich bei diesem noch habe ist, dass ich nicht angeben kann in welchen Reiter er die Daten übernehmen soll. Wie kann ich den entsprechend anpassen?
Vielen Dank für eure Hilfe!
Option Explicit
Sub ImportTextFile()
Dim fName As String
fName = Application.GetOpenFilename("Text Files (*.txt), *.txt")
If fName = "False" Then Exit Sub
With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & fName, _
Destination:=Range("$A$1"))
.Name = "sample"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 437
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierNone
.TextFileConsecutiveDelimiter = True
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileOtherDelimiter = "" & Chr(10) & ""
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, _
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
End Sub | |
Re: Einfügen einer txt-Datei | | | Autor: Souffleurlos | Datum: 15.09.18 17:20 |
| Hallo,
deine Frage ist für mich nicht ganz verständlich. Was meinst Du mit "Reiter"? Meinst Du damit ein Tabellenblatt?
Das kannst du einfach mit ActiveWorkbook.Sheets("Name_der_Tabelle").SELECT auswählen und deine Routine nicht mit ActiveSheet, sondern mit Application.Selection.QueryTables.Add ausführen.
Beitrag wurde zuletzt am 15.09.18 um 17:22:01 editiert. | |
Re: Einfügen einer txt-Datei | | | Autor: DominikC2 | Datum: 15.09.18 20:58 |
| Hallo Souffleurlos,
vielen Dank für Deine Rückmeldung! Ja. Genau. Ich meinte damit, dass er die Daten in ein vorgegebenes Tabellenblatt einfügt. Leider habe ich es noch nicht hinbekommen. Deine Hinweise in dem Code zu berücksichtigen. An welcher Stelle wir das "ActiveWorkbook.Sheets("Name_der_Tabelle").SELECT" eingesetzt?
Vielen Dank und beste Grüße | |
Re: Einfügen einer txt-Datei | | | Autor: effeff | Datum: 16.09.18 11:07 |
| Nehmen wir an, Dein gewünschtes Tabellenblatt heißt "Ergebnis":
Sub ImportTextFile()
Dim fName As String
Dim wb As Workbook
Dim ws As Worksheet
fName = Application.GetOpenFilename("Text Files (*.txt), *.txt")
If fName = "False" Then Exit Sub
Set wb = ActiveWorkbook
Set ws = ActiveWorkbook.Sheets("Ergebnis")
With ws.QueryTables.Add(Connection:="TEXT;" & fName, _
Destination:=Range("$A$1"))
.Name = "sample"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 437
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierNone
.TextFileConsecutiveDelimiter = True
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileOtherDelimiter = "" & Chr(10) & ""
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, _
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
Set ws = Nothing
Set wb = Nothing
End Sub EALA FREYA FRESENA | |
Re: Einfügen einer txt-Datei | | | Autor: DominikC2 | Datum: 16.09.18 12:12 |
| Vielen Dank für Deine schnelle Hilfe! Leider erhalte ich nun den Fehlerhinweis:
"Der Zielbereich befindet sich nicht auf dem Arbeitsblatt auf dem die Abfragetabelle erstellt wird."
Muss ich da noch etwas beachten? | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
sevISDN 1.0
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats Neu! sevCommand 4.0
Professionelle Schaltflächen im modernen Design!
Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. Weitere Infos
|