Teste mal...
26.08.2016 10:06:09
Michael
Hallo Fred,
...folgenden Code:
Sub a()
Const TRENNER As String = ", "
Dim Wb As Workbook
Dim Ws As Worksheet
Dim Sp1, Sp2, i&
Set Wb = ThisWorkbook
Set Ws = Wb.Worksheets(1)
With Ws
Sp1 = Application.Transpose(.Range("M2:M" & _
.Cells(.Rows.Count, 13).End(xlUp).Row))
Sp2 = Application.Transpose(.Range("O2:O" & _
.Cells(.Rows.Count, 15).End(xlUp).Row))
For i = LBound(Sp1) To UBound(Sp1)
Sp1(i) = Sp2(i) & TRENNER & Sp1(i)
Next i
.Range("M2:M" & .Cells(.Rows.Count, 13).End(xlUp).Row) = _
Application.Transpose(Sp1)
End With
Erase Sp1
Erase Sp2
Set Wb = Nothing
Set Ws = Nothing
End Sub
Dieser muss in ein allgemeines Modul, und wirkt in der jeweiligen Mappe auf dem ersten Tabellenblatt; ggf. musst Du diese Zeile entsprechend anpassen für ein anderes Blatt
Set Ws = Wb.Worksheets(1)
Set Ws = Wb.Worksheets(2)
Set Ws = Wb.Worksheets(3)
usw. usf.
Die Zellwerte aus M2:Mx werden jetzt aus den Zellwerten von O2:Ox, einem Trenner (hier Komma + Leerzeichen) und den Zellwerten von M2:Mx gebildet. Hab's jetzt gleich mit Arrays gemacht, ohne Hilfsspalte und Formeln.
LG
Michael