Die Zeilen bei denen Spalte a-e gleich sind sollen addiert werden.
https://www.herber.de/bbs/user/49275.xls
Option Explicit
Sub test()
Dim sp As Integer, ze As Long, check As Boolean
'--- Sortieren
For sp = 5 To 1
Range("A1").CurrentRegion.Sort key1:=Cells(2, sp), order1:=xlAscending, header:=xlYes
Next
ze = 2
Do Until Cells(ze + 1, 1).Value = ""
'--- Prüfen, ob gelicher Kunde
check = True
For sp = 1 To 5
check = Cells(ze, sp) = Cells(ze + 1, sp)
If Not check Then Exit For
Next
Select Case check
Case False '--- neuer Kunde, eine Zeile weiter
ze = ze + 1
Case True '--- gleicher Kunde, zusammenfassen
For sp = 6 To 22 ' Nummern der Spalten, die zusammengefasst werden sollen
If sp = 17 Then '--- in Sp. Q Zahlen addieren
If Cells(ze, sp) & Cells(ze + 1, sp) > "" Then _
Cells(ze, sp) = Cells(ze, sp) + Cells(ze + 1, sp)
Else '--- Texte zusammenfassen
If Cells(ze + 1, sp) "" And Cells(ze + 1, sp) Cells(ze, sp) Then
If Cells(ze, sp) "" Then Cells(ze, sp) = Cells(ze, sp) & " "
Cells(ze, sp) = Cells(ze, sp) & Cells(ze + 1, sp)
End If
End If
Next sp
Rows(ze + 1).Delete
End Select
Loop
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
IF IsNumeric (Cells(ze, sp) then
..... '---- hier Zahlen addiern
else
......'--- hier Texte zusammensetzen
end if
wenn das als Trennung nicht reicht, und du die Verarbeitungsart abhängig von der einzelnen Zelle machen willst, müsstets du über die Select Case - anweisung gehen
Select case sp
case 6, 7
'--- Hier Bearbeitungsmethode für Spalte 6 und 7
case 12 to 15
'--- Hier Bearbeitungsmethode für Spalte 12, 13, 14, 15
case else
'--- Hier Bearbeitungsmethode für alle anderen Spalten
end select
hier kannst du abhängig von der Spaltennr, die gerade bearbeitet wird, die Bearbeitungsart festlegen
Gruß, Daniel