921 Aufrufe
Gefragt in Tabellenkalkulation von
Wünsche einen angenehmen Tag an das Forum,

Folgendes Problem (ja, Suche schon verwendet, würde das erste mal VBA verwenden)

Müsste aus einem Standardordner nennen wir ihn C:/Eingang mehrere Textdateien in einer Exceltabelle zusammenführen.
Ich bekomme täglich bis zu zehn neue Textdateien hinzu.

Textdatei sieht wie folgt aus:

Test 1

Test 2
Test 2a
Test 2a
Test 2a

Test 3
Test 3a
Test 3a
Test 3a
Test 3a

Test 4

Test 5

Test 6
Test 6a
Test 6a
Test 6a

Kann man diese Textdateien in Excel (oder Word) mit VBA so zusammenfassen das er jede Textzeile in eine Zeile
im Tabellenblatt einfügt auch mit den Leerzeilen? Desweiteren kann er Prüfen ob neue Textdateien hinzugekommen sind?

Danke
Gruß Hans

2 Antworten

0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi hans ^^

probier mal :-)

gruss nighty

Sub ArrayTranspose()
Dim TbSpAZeile As Long
Dim Qzeile As Long
Dim IndexSp As Long
Dim IndexZe As Long
Dim Schalter As Boolean
TbSpAZeile = Cells(Rows.Count, 1).End(xlUp).Row
ReDim TbSpaA(1 To TbSpAZeile, 1) As Variant
ReDim TbSpaNeu(1 To TbSpAZeile, 1 To 100) As Variant
TbSpaA() = Range("A1:A" & TbSpAZeile)
For Qzeile = 1 To TbSpAZeile
If TbSpaA(Qzeile, 1) <> "" And Schalter = False Then
Schalter = True
IndexSp = 1
IndexZe = IndexZe + 1
TbSpaNeu(IndexZe, IndexSp) = TbSpaA(Qzeile, 1)
Else
If Schalter = True Then
IndexSp = IndexSp + 1
If IndexSp = 100 Then IndexSp = 1
TbSpaNeu(IndexZe, IndexSp) = TbSpaA(Qzeile, 1)
End If
End If
If TbSpaA(Qzeile, 1) = "" Then Schalter = False
Next Qzeile
Range("A1:G" & TbSpAZeile).Resize(UBound(TbSpaNeu())) = TbSpaNeu()
End Sub
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi hans :-)

oder in einem stück dann nutze den reiter transpose

gruss nighty
...