Microsoft Excel

Herbers Excel/VBA-Archiv

Arrays aus verschiedenen Tablettenblättern in .txt


Betrifft: Arrays aus verschiedenen Tablettenblättern in .txt
von: Gerd Hoffmann
Geschrieben am: 12.12.2018 15:25:40

Hallo liebes Forum,

ich bin etwas am verzweifeln.
Ich suche eine Möglichkeit jede einzelne Zeile meiner Tabellenblätter einzulesen und in eine Textdatei auszugeben. Dabei sollen diese per Semikolon getrennt werden:

Tabelle1;Tabelle2;Tabelle3;Tabelle4;...
ZEILE1:kfjslfzs;53249879;jsdgokdk;54h66543;...

Tabelle1;Tabelle2;Tabelle3;Tabelle4;...
ZEILE2:hgffbf;76585;jsdgokdk;54h66543;...

Tabelle1;Tabelle2;Tabelle3;Tabelle4;...
ZEILE3:kfjslfzs;53249879;jsdgokdk;54h66543;...

usw...

Meine Idee: Jede Zeile eines Tabellenblatts in ein Array speichern und dann die Tabellenblätter durchlaufen und das Array ergänzen.
Ich bin schon etwas am verzweifeln. Ich habe die Join()-Funktion versucht, die nicht wirklich funktioniert.
Ansatz:

strFile = "C:\Temp\VNR_anlegen_output.txt"

vntText = Sheets("KR Änderdialog").Range("A3:E3")
strTmp = Join(vntText, ";")
Open strFile For Output As #1
Print #1, strTmp
Close #1

Kann mir bitte jemand hier weiterhelfen?

  

Betrifft: AW: Arrays aus verschiedenen Tablettenblättern in .txt
von: Maik
Geschrieben am: 12.12.2018 15:46:50

Hallo Gerd,

ich würde es so versuchen:
Eine neues Register erstellen (als erstes Register)
hier den sWert aus der nachfolgenden Formel kopieren
dann das Register als Textdatei speichern

sWert=Sheets("Tabelle1").Cells(1, 1) & ";" & Sheets("Tabelle3").Cells(1, 1) & ";" & Sheets("Tabelle3").Cells(1, 1) & ";" usw.

Maik


  

Betrifft: AW: Arrays aus verschiedenen Tablettenblättern in .txt
von: PeterK
Geschrieben am: 12.12.2018 16:41:31

Hallo

So gehts (nur ein kleines Beispiel, wenn Du über Zeilen gehen willst (z.B. Range("A5:A10")) genügt ein Aufruf von Application.Transpose)


Dim myR As Variant
myR = Application.Transpose(Application.Transpose(Range("A3:E3")))
Debug.Print Join(myR, ";")