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

Datenausleitung per Makro-Schleife

Datenausleitung per Makro-Schleife
10.03.2004 09:24:08
Rolf
Hallo Leute,
ich habe zwei Spalten mit 1810 Zeilen in denen meine Daten stehen, die ich per Makro einzeln als txt-Dateien rausschreiben möchte.
In der ersten Spalte stehen die Dateinamen, wie die txt's heissen sollen, in der zweiten Spalte die dazugehörigen Daten:
Spalte A Spalte B
DAT0001.TXT blablabla
DAT0002.TXT testtesttest
DAT0003.TXT 1234567
DAT0004.TXT halllohallo
DAT0005.TXT hierundda
DAT0006.TXT versuchskannikel
usw. usw.
Nach jeweils 100 Zeilen kommt eine Leerzeile.

Das mit dem Datenausleiten hab ich Dank der genialen Leute hier im Forum schon per Makro hinbekommen:
Sub EXPORT()
'
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'
Open "..\DATEN\DAT0001.TXT" For Output As #1
Print #1, Range("B21").Value;
Close
'
Open "..\DATEN\DAT0002.TXT" For Output As #1
Print #1, Range("B22").Value;
Close
'
Open "..\DATEN\DAT0003.TXT" For Output As #1
Print #1, Range("B23").Value;
Close
'
Open "..\DATEN\DAT0004.TXT" For Output As #1
Print #1, Range("B24").Value;
Close
'
Open "..\DATEN\DAT0005.TXT" For Output As #1
Print #1, Range("B25").Value;
Close
'
Open "..\DATEN\DAT0006.TXT" For Output As #1
Print #1, Range("B26").Value;
Close
'
usw.
Wie Ihr seht, habe ich das Problem recht umständlich gelöst, da ich quasi jede Zelle einzeln anspreche. Dementsprechend lang sind auch die Makros (18 Einzelmakros mit je 100 Ausgaben, die nacheinander aufgerufen werden).
Für sowas bietet sich ja wohl eine Schleife an. Nur sind meine VBA-Kenntnisse eher bescheiden und nach drei Tagen Hilfe- und Bücher-wälzen bin ich nervlich etwas am ende.
Was ich rausgefunden habe ist, dass wohl eine For Each Anweisung für mein Problem in Frage käme, aber irgendwie bekomme ich das Ganze nicht gebacken.

Das Makro soll also für jede Zelle im Bereich von B1 bis B1810 deren Inhalt in eine einzelne txt rausschreiben und den dazugehörigen Dateinamen aus der entsprechenden A-Zelle nehmen. Leerzeilen sollen übersprungen werden.
Hört sich einfach an. Ist es für Profis sicher auch. Mich treibt es jedoch in den Wahnsinn.
Könnt Ihr mir weiter helfen? bin für jeden Hinweis dankbar.
Danke!
Rolf

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datenausleitung per Makro-Schleife
10.03.2004 10:27:40
Roland Hochhäuser
Hallo Rolf, versuch mal folgendes:

Sub EXPORT()
Dim i As Integer
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For i = 1 To Range("A65536").End(xlUp).Row
If Not IsEmpty(Range("A" & i)) Then
Open "..\DATEN\DAT0001.TXT" For Output As #1
Print #1, Range("B" & i).Value;
Close
End If
Next
End Sub

Gruß Roland
@ roland
11.03.2004 09:48:25
rolf
hallo rolf,
danke fuer die hilfe. hat mir den entscheidenden hinweis gebracht.
gruss
rolf

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige