Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
652to656
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
652to656
652to656
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Textdateien nacheinander importieren

Textdateien nacheinander importieren
16.08.2005 16:46:22
Walter
Hallo Excel User,
ich brauche mal Eure Hilfe...
Ich möchte vier Textdateien, mit unterschiedlichen Dateinamen nacheinander in eine Tabelle importieren...
Dies soll mit Hilfe eines Makros realisiert werden...
Die Einträge in den jeweiligen Dateien ändern sich von Woche zu Woche, so dass ich nicht pauschal sagen kann gehe nach dem importieren in Zeile X und importiere dort die nächste Datei.
Im Makro soll also ausgedrückt werden, dass nach einem Import die nächste freie Zeile angesteuert wird und dort dann die nächste Textdatei importiert wird.
Bisher wird immer pauschal eine bestimmte zeile angesteuert, ändert sich aber die Anzahl der Einträge in der Textdatei, dann wird also trotzdem bei beim Wert X angesetzt.
Hier mal als Beispiel...
Range("A187").Select
dort soll aber statt der 187 die nächste freie Zeile angesteuert werden...
geht wahrscheinlich mit dem Befehl... Selection.End(xlDown).Select
aber meine VBA Kenntnisse sind minimal...
Bitte um Eure Hilfe
Danke Nico

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Textdateien nacheinander importieren
16.08.2005 22:45:15
IngGi
Hallo Nico,
die erste freie Zelle in Spalte A selektierst du mit
Range("A1").End(xlDown).Select
Problem: Du findest damit nicht unbedingt das Ende deiner Tabelle. Wenn du nämlich mitten in der Tabelle irgendwo in Spalte A keinen Eintrag hast, findest du diese Zelle. Deshalb ist es besser, von unten her die erste beschriebene Zelle zu suchen und dann die darauffolgende zu selektieren:
Range("A65536").End(xlUp).Offset(1, 0).Select
Noch'n Tipp: Ich nehme an, dass du die Textdateien in Excel öffnest und dann den Inhalt kopierst. Dazu musst du aber weder die Datenquelle, noch das Kopierziel selektieren. Das macht man im Prinzip so:
Workbooks("xy.txt").Sheets(1).Range("A1:F2000").Copy _
Destination:=Workbooks("ab.xls").Sheets(1).Range("A65536").End(xlUp).Offset(1, 0)
Diese Methode ist wesentlich schneller und auch dein Code wird übersichtlicher.
Gruß Ingolf
Anzeige
AW: Textdateien nacheinander importieren
17.08.2005 08:32:53
Walter
Hallo Ingo, danke erstmal für Deine Hilfe... Mein Problem ist aber, dass ich die Dateien über Textdatei importieren einfügen möchte und nicht jede einzelne öffnen will...
Hier mal der Code... im Code sind es nur 2 Dateien... aber normal sind es mehrere...

Sub Makro2()
' Makro2 Makro
' Makro am 16.08.2005 von Walter aufgezeichnet
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;K:text.txt", Destination:=Range( _
"A1"))
.Name = "ABH_Nohra."
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = xlWindows
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileOtherDelimiter = "|"
.TextFileColumnDataTypes = Array(2, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileDecimalSeparator = "."
.TextFileThousandsSeparator = " "
.Refresh BackgroundQuery:=False
End With
Range("A65536").End(xlUp).Offset(1, 0).Select
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;K:\text2.txt", Destination:=Range _
("A187"))
.Name = "ABH_Nohra2."
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = xlWindows
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileOtherDelimiter = "|"
.TextFileColumnDataTypes = Array(2, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileDecimalSeparator = "."
.TextFileThousandsSeparator = " "
.Refresh BackgroundQuery:=False
End With
End Sub


Wie bekomme ich nun hin das er nicht in die 187. Zeile springt, sondern in die erste freie... Vielen Dank schon mal im Voraus... Nico
Anzeige
AW: Textdateien nacheinander importieren
17.08.2005 09:57:27
IngGi
Hallo Nico,
funktioniert das?

With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;K:\text2.txt", Destination:=Range("A65536").End(xlUp).Offset(1, 0)
Gruß Ingolf
AW: Textdateien nacheinander importieren
17.08.2005 10:52:52
Nico
Hallo Ingolf,
danke es funktioniert super...
Vielen vielen Dank für die Hilfe...
MfG Nico
AW: Textdateien nacheinander importieren
17.08.2005 15:24:56
Nico
Hallo Ingolf, vielleicht kannst Du mir nochmal helfen und zwar hab ich nun folgendes Problem...
Es ist ab und zu der Fall, das einige der Textdatenbanken leer sind, sprich sie enthalten keine Daten, dann stürzt das Makro an der Stelle ab...
Refresh BackgroundQuery:=False
Kann man durch eie Art if - then Bedingungsabfrage sagen, wenn die Datei keine Datensätze enthält, das der Importiervorgang nicht ausgeführt wird?
MfG Nico
Anzeige
AW: Textdateien nacheinander importieren
17.08.2005 16:01:57
IngGi
Hallo Nico,
mit QueryTables kenne ich mich leider gar nicht aus. Vielleicht solltest du noch dazu sagen, welche Fehlermeldung du bekommst. Möglicherweise kann dann jemand anderes die Sache besser beurteilen.
Gruß Ingolf

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige