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
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen