Anzeige
Archiv - Navigation
368to372
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
368to372
368to372
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

VBA Problem 2

VBA Problem 2
21.01.2004 15:51:14
Thorsten
Hallo.
Hatte das Problem vorhin schon einmal geschildert und Ralf hatte mir auch nen Tip gegeben, den ich leider, aus Mangel an VBA Kenntnissen, nicht anwenden kann. Vielleicht weiß jemand, wie man das einbaut. Nur kurz zur erklärung: Es geht darum, dass ich daten aus mehreren Textdateien in eine tabelle schreiben lassen möchte. Das Problem: Er schreibt mi nur die Daten der letzten Datei. Er überschreibt die anderen. Hier mal der Code: Vielleicht weiß jemand was. Bitte mit Beispiel oder etwas in der Art. Ich absoluter VBA Laie.
Danke für die Hilfe

Sub TextImport()
Application.DisplayAlerts = False
Dim iRow As Integer, iCol As Integer
Dim sFile As String, sTxt As String
Dim datei As String
iRow = 1
iCol = 1
Sheets("Ergebnis").Range("A:ZZ").ClearContents
datei = Dir("C:\Test\*.txt")
Do While datei <> ""
sFile = "C:\Test\" + datei
On Error Resume Next
Close
Open sFile For Input As #1
Do Until EOF(1)
Line Input #1, sTxt
Do While InStr(sTxt, "|")
Cells(iRow, iCol).Value = Left(sTxt, InStr(sTxt, "|") - 1)
sTxt = Right(sTxt, Len(sTxt) - InStr(sTxt, "|"))
iCol = iCol + 1
Loop
Cells(iRow, iCol).Value = sTxt
iRow = iRow + 1
iCol = 1
Loop
Close
Application.ScreenUpdating = False
With Range("A1")
.AutoFilter Field:=4, Criteria1:="trans*"
.CurrentRegion.SpecialCells(xlCellTypeVisible).Copy _
Worksheets("Ergebnis").Range("A1")
End With
Sheets("Ergebnis").Range("A:C,E:J").ClearContents
Range("D1:D1000").Select
Worksheets("Ergebnis").Activate
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1))
datei = Dir
Sheets("Tabelle1").Range("A:Z").ClearContents
Loop
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Problem 2
21.01.2004 16:29:15
soendi
willst du so eine art log-file erstellen, in dem ALLE daten IMMER aufgelistet bleiben?
d.h. wenn du das makro zum ersten mal laufen lässt, dann nimmt excel icol=1 und irow=1.
solage das makro läuft. zählt es hoch. wenn du jetzt aber das makro beendest und nochmal laufen lässt, beginnt es wieder bei eins... du musst also einen zähler einbinden... stell mal die datei hoch, dann mach ichs dir schnell! :))
soendi
AW: VBA Problem 2
21.01.2004 16:32:55
Thorsten
Ziel ist es, die Daten aus mehreren Dateien untereinander zu schreiben.
Die Tabelle soll bei jeder neuen Benutzung wieder geleert werden.
Ich verstehe das in sofern auch nicht, weil iRow und iCol ja gar nicht in der Schleife stehen...
Anzeige
AW: VBA Problem 2
21.01.2004 16:42:45
Thorsten
Noch eine kleine Anmerkung. Ich habe gerade noch mal einen Testlauf gemacht und es scheint, als liest er nur die 1. ein. Ich stelle mal 2 Dateien rein. Er soll nach dem Filtern und dem "Text in Spalten" alle gefilterten Daten aus Datei 1+2 untereinander auflisten. Müssten 99 Einträge sein.
https://www.herber.de/bbs/user/3101.zip

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige