wurde leider wieder von eine Aufgabe gestellt, die meine beschränkten Makro Fähigkeiten ziemlich ausreizt.
Ich habe eine ziemlich große xls Datei (>100 Spalten), die für den Export in mehrere txt.Dateien für eine Fremdsoftware Schnittstelle benötigt wird.
Nun wurde die Anforderung gestellt, ich solle eine kleine übersichtliche Datei erstellen mit aktuell knapp 40 Spalten die übersichtlich und "einfach befüllbar" für Kunden und User ist. Soweit kein Problem ...
Nur aus dieser 2. Datei sollen jetzt per Makro alle Spalten in die Datei 1 übernommen werden, aber natürlich is erstens die Quelldatei (-name) variabel und zweitens stimmt die Reihenfolge der Spalten in beiden Sheets nicht überein.
Mein Lösungsansatz wäre nun, daß der Bereich der Datei 2 in ein Array übernommen wird und von dort Spalte für Spalte per Schleife in die jeweils richtigen Datei1.Spalten geschrieben wird.
also der Makro Kopf etwa so:
Sub LieDaten_Import()
Dim LieBlattPfad As String
Dim LieBlatt As Worksheet
Dim Inhalt() As String
Dim zeilen As Integer
LieBlattPfad = InputBox("Wo liegt die Lieferantendatei? zB:'C:\Daten\lieferant.xls'", "Dateien- _
_
_
Pfad")
If LieBlattPfad = "" Then Exit Sub
Set LieBlatt = Workbooks.Open(LieBlattPfad).Sheets("Tabelle1")
zeilen = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
Inhalt = LieBlatt.Range("A3:AM" & zeilen)
End Sub
und dann halt 40 for-Schleifen die Datei 2 befüllen.
Meine Frage nun, ist dies der einfachste/eleganteste Weg oder hätte jemand eine Idee wie ich mir die 40 Schleifen etwas vereinfache, bzw. einen generell anderen Lösungsweg ?