du brauchst dann wohl zwei ineinander verschachtelte Schleifen.
Aus deiner Aufgabe entnehme ich das es wohl nur drauf ankommt die Zellinhalte als ein Text mit den Trennstrichen zu erhalten. Die Einfügeaktion in jede Zelle ist dann eher unnötig.
Sub test()
Dim IngLz As Long, IngZ As Long, lngS As Long, IngSpalte As Long
Dim sAlles As String
IngSpalte = 6 '1=Spalte A, 2=Spalte B etc.
IngZ = Cells(Rows.Count, IngSpalte).End(xlUp).Row 'Letzte Zeile in der Spalte ermitteln
For IngLz = 1 To IngZ 'Beginnt ab Zeile 1
For lngS = 1 To IngSpalte 'Beginnt ab Spalte 1
If Not IsEmpty(Cells(IngLz, lngS)) Then 'prüft ob das Feld leer ist
sAlles = sAlles & "|" & Cells(IngLz, lngS) ' erzeugt String aus Zellinhalten
'Cells(IngLz, lngS).Value = "|" & Cells(IngLz, lngS).Text ' fügt "|" an erster Stelle des feldes hinzu
End If
Next
Next
Cells(IngZ + 1, 1) = sAlles ' Einfügen der Zusammenfassung
End Sub
|