ich versuche seit zwei Tagen folgendes Problem zu lösen:
Ich habe in einer Arbeitsmappe mehrere Bereiche, die ich gern in eine neue Arbeitsmappe kopieren und gleichzeitig mit einem Textumbruch zusammenfassen möchte.
Hier die Randbedingungen:
Der Name der Quell-Arbeitsmappe kann sich mit der Zeit ändern (da er die Versionsnummer enthält). Hier müsste man wohl mit ThisWorkbook arbeiten.
Der Name des Quell-Arbeitsblattes bleibt gleich.
Die Quell-Bereiche befinden sich alle im gleichen Arbeitsblatt [Bericht] und in der gleichen Spalte, haben aber eine unterschiedliche Anzahl Zeilen. Sie können auch alle oder teilweise leer sein, dann soll der Ziel-Bereich auch leer bleiben.
Die Ziel-Bereiche sind nicht zusammenhängend, sondern in den Zellen C8, E8.
Sub mit einer Funktion.
Sub Export()
Dim wkbQuelle As Workbook
Set wkbQuelle = ThisWorkbook
With wkbQuelle.Sheets("Bericht")
Set rngMec = .Range("C31:C35")
Set rngPol = .Range("C39:C45")
End With
Set wkbZiel = Workbooks.Add(1) 'erstellt eine temporäre Arbeitsmappe mit einem Tabellenblatt
'Set wkbZiel = ActiveWorkbook
rngMec.Copy
wkbZiel.Sheets(1).Range("C3").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
rngPol.Copy
wkbZiel.Sheets(1).Range("E3").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
With Range("C8")
.Formula = "=TEXTJOIN(Char(10), False, B3:B7)"
.Value = .Value
End With
With Range("E8")
.Formula = "=TEXTJOIN(Char(10), False, B3:B7)"
.Value = .Value
End With
End Sub
...nur finde ich das mit dem Kopieren & Einfügen nicht sehr elegant und den Code sehr lang. Und ich würde gern den eigentlich eingefügten Bereich wieder löschen, so dass nur noch die verketteten Zellen übrig bleiben.Wie würdet ihr das lösen?
Da ich nicht weitergekommen bin, habe ich mich nun endlich mal im Forum registriert und freue mich auf eure Antworten.
Vielen Dank!
Mue