Das Clever-Excel-Forum.de - Treffen
... 14.-16. September 2018 im Allgäu ...

Zeilen Doppelter Werte nach addieren löschen
#1
Hallo,

ich habe eine schnell wachsende Excel Tabelle.

Derzeit ca. 90 Spalten
und unter 5000 Zeilen.

   

Die ersten Vier Zeilen gründen Kopfzeilen
Die Spalten wachsen durch wachsende Maschinenzahl.

In Spalte A befinden sich Typenbezeichnungen.
Diese werden täglich ergänzt.


Felder von Maschinen die kein entsprechendes Typenzeichen erhalten bleiben leer.

Nun möchte ich per VBA:
1. Die Liste nach Spalte A Sortieren (von A nach Z)
2. Die gesamten werte aller gefüllten Felder einer Spalte (Zahlen Werte) addieren wenn Werte in Spalte A doppelt sind.
3. Die Zeilen der doppelten Werte entfernen.

   
   

Gruß

Frank
to top
#2
Moin,

ich hab schon mal etwas mit diesem Code Experimentiert:
http://www.supportnet.de/fresh/2006/6/id1369769.asp

Weil ich mir nicht anders zu helfen wusste wurde daraus:

Code:
Sub Löschen()
   Dim Wiederholungen1 As Long, Wiederholungen2 As Long
   Application.ScreenUpdating = False
   For Wiederholungen1 = 5 To Range("A65536").End(xlUp).Row
      For Wiederholungen2 = 5 To Range("A65536").End(xlUp).Row
         If Wiederholungen1 <> Wiederholungen2 Then
            If Cells(Wiederholungen1, 1) = Cells(Wiederholungen2, 1) Then
               Cells(Wiederholungen1, 2) = Cells(Wiederholungen1, 2) + Cells(Wiederholungen2, 2)
               Cells(Wiederholungen1, 3) = Cells(Wiederholungen1, 3) + Cells(Wiederholungen2, 3)
               Cells(Wiederholungen1, 4) = Cells(Wiederholungen1, 4) + Cells(Wiederholungen2, 4)
               Cells(Wiederholungen1, 5) = Cells(Wiederholungen1, 5) + Cells(Wiederholungen2, 5)
               Cells(Wiederholungen1, 6) = Cells(Wiederholungen1, 6) + Cells(Wiederholungen2, 6)
               Cells(Wiederholungen1, 7) = Cells(Wiederholungen1, 7) + Cells(Wiederholungen2, 7)
               Cells(Wiederholungen1, 8) = Cells(Wiederholungen1, 8) + Cells(Wiederholungen2, 8)
               Cells(Wiederholungen1, 9) = Cells(Wiederholungen1, 9) + Cells(Wiederholungen2, 9)
               Cells(Wiederholungen1, 10) = Cells(Wiederholungen1, 10) + Cells(Wiederholungen2, 10)
               Cells(Wiederholungen1, 11) = Cells(Wiederholungen1, 11) + Cells(Wiederholungen2, 11)
               Cells(Wiederholungen1, 12) = Cells(Wiederholungen1, 12) + Cells(Wiederholungen2, 12)
               Cells(Wiederholungen1, 13) = Cells(Wiederholungen1, 13) + Cells(Wiederholungen2, 13)
               Cells(Wiederholungen1, 14) = Cells(Wiederholungen1, 14) + Cells(Wiederholungen2, 14)
               Cells(Wiederholungen1, 15) = Cells(Wiederholungen1, 15) + Cells(Wiederholungen2, 15)
               Cells(Wiederholungen1, 16) = Cells(Wiederholungen1, 16) + Cells(Wiederholungen2, 16)
               Cells(Wiederholungen1, 17) = Cells(Wiederholungen1, 17) + Cells(Wiederholungen2, 17)
               Cells(Wiederholungen1, 18) = Cells(Wiederholungen1, 18) + Cells(Wiederholungen2, 18)
               Cells(Wiederholungen1, 19) = Cells(Wiederholungen1, 19) + Cells(Wiederholungen2, 19)
               Cells(Wiederholungen1, 20) = Cells(Wiederholungen1, 20) + Cells(Wiederholungen2, 20)
               Cells(Wiederholungen1, 21) = Cells(Wiederholungen1, 21) + Cells(Wiederholungen2, 21)
               Cells(Wiederholungen1, 22) = Cells(Wiederholungen1, 22) + Cells(Wiederholungen2, 22)
               Cells(Wiederholungen1, 23) = Cells(Wiederholungen1, 23) + Cells(Wiederholungen2, 23)
               Cells(Wiederholungen1, 24) = Cells(Wiederholungen1, 24) + Cells(Wiederholungen2, 24)
               Cells(Wiederholungen1, 25) = Cells(Wiederholungen1, 25) + Cells(Wiederholungen2, 25)
               Cells(Wiederholungen1, 26) = Cells(Wiederholungen1, 26) + Cells(Wiederholungen2, 26)
               Cells(Wiederholungen1, 27) = Cells(Wiederholungen1, 27) + Cells(Wiederholungen2, 27)
               Cells(Wiederholungen1, 28) = Cells(Wiederholungen1, 28) + Cells(Wiederholungen2, 28)
               Cells(Wiederholungen1, 29) = Cells(Wiederholungen1, 29) + Cells(Wiederholungen2, 29)
               Cells(Wiederholungen1, 30) = Cells(Wiederholungen1, 30) + Cells(Wiederholungen2, 30)
               Cells(Wiederholungen1, 31) = Cells(Wiederholungen1, 31) + Cells(Wiederholungen2, 31)
               Cells(Wiederholungen1, 32) = Cells(Wiederholungen1, 32) + Cells(Wiederholungen2, 32)
               Cells(Wiederholungen1, 33) = Cells(Wiederholungen1, 33) + Cells(Wiederholungen2, 33)
               Cells(Wiederholungen1, 34) = Cells(Wiederholungen1, 34) + Cells(Wiederholungen2, 34)
               Cells(Wiederholungen1, 35) = Cells(Wiederholungen1, 35) + Cells(Wiederholungen2, 35)
               Cells(Wiederholungen1, 36) = Cells(Wiederholungen1, 36) + Cells(Wiederholungen2, 36)
               Cells(Wiederholungen1, 37) = Cells(Wiederholungen1, 37) + Cells(Wiederholungen2, 37)
               Cells(Wiederholungen1, 38) = Cells(Wiederholungen1, 38) + Cells(Wiederholungen2, 38)
               Cells(Wiederholungen1, 39) = Cells(Wiederholungen1, 39) + Cells(Wiederholungen2, 39)
               Cells(Wiederholungen1, 40) = Cells(Wiederholungen1, 40) + Cells(Wiederholungen2, 40)
               Cells(Wiederholungen1, 41) = Cells(Wiederholungen1, 41) + Cells(Wiederholungen2, 41)
               Cells(Wiederholungen1, 42) = Cells(Wiederholungen1, 42) + Cells(Wiederholungen2, 42)
               Cells(Wiederholungen1, 43) = Cells(Wiederholungen1, 43) + Cells(Wiederholungen2, 43)
               Cells(Wiederholungen1, 44) = Cells(Wiederholungen1, 44) + Cells(Wiederholungen2, 44)
               Cells(Wiederholungen1, 45) = Cells(Wiederholungen1, 45) + Cells(Wiederholungen2, 45)
               Cells(Wiederholungen1, 46) = Cells(Wiederholungen1, 46) + Cells(Wiederholungen2, 46)
               Cells(Wiederholungen1, 47) = Cells(Wiederholungen1, 47) + Cells(Wiederholungen2, 47)
               Cells(Wiederholungen1, 48) = Cells(Wiederholungen1, 48) + Cells(Wiederholungen2, 48)
               Cells(Wiederholungen1, 49) = Cells(Wiederholungen1, 49) + Cells(Wiederholungen2, 49)
               Cells(Wiederholungen1, 50) = Cells(Wiederholungen1, 50) + Cells(Wiederholungen2, 50)
               Cells(Wiederholungen1, 51) = Cells(Wiederholungen1, 51) + Cells(Wiederholungen2, 51)
               Cells(Wiederholungen1, 52) = Cells(Wiederholungen1, 52) + Cells(Wiederholungen2, 52)
               Cells(Wiederholungen1, 53) = Cells(Wiederholungen1, 53) + Cells(Wiederholungen2, 53)
               Cells(Wiederholungen1, 54) = Cells(Wiederholungen1, 54) + Cells(Wiederholungen2, 54)
               Cells(Wiederholungen1, 55) = Cells(Wiederholungen1, 55) + Cells(Wiederholungen2, 55)
               Cells(Wiederholungen1, 56) = Cells(Wiederholungen1, 56) + Cells(Wiederholungen2, 56)
               Cells(Wiederholungen1, 57) = Cells(Wiederholungen1, 57) + Cells(Wiederholungen2, 57)
               Cells(Wiederholungen1, 58) = Cells(Wiederholungen1, 58) + Cells(Wiederholungen2, 58)
               Cells(Wiederholungen1, 59) = Cells(Wiederholungen1, 59) + Cells(Wiederholungen2, 59)
               Cells(Wiederholungen1, 60) = Cells(Wiederholungen1, 60) + Cells(Wiederholungen2, 60)
               Cells(Wiederholungen1, 61) = Cells(Wiederholungen1, 61) + Cells(Wiederholungen2, 61)
               Cells(Wiederholungen1, 62) = Cells(Wiederholungen1, 62) + Cells(Wiederholungen2, 62)
               Cells(Wiederholungen1, 63) = Cells(Wiederholungen1, 63) + Cells(Wiederholungen2, 63)
               Cells(Wiederholungen1, 64) = Cells(Wiederholungen1, 64) + Cells(Wiederholungen2, 64)
               Cells(Wiederholungen1, 65) = Cells(Wiederholungen1, 65) + Cells(Wiederholungen2, 65)
               Cells(Wiederholungen1, 66) = Cells(Wiederholungen1, 66) + Cells(Wiederholungen2, 66)
               Cells(Wiederholungen1, 67) = Cells(Wiederholungen1, 67) + Cells(Wiederholungen2, 67)
               Cells(Wiederholungen1, 68) = Cells(Wiederholungen1, 68) + Cells(Wiederholungen2, 68)
               Cells(Wiederholungen1, 69) = Cells(Wiederholungen1, 69) + Cells(Wiederholungen2, 69)
               Cells(Wiederholungen1, 70) = Cells(Wiederholungen1, 70) + Cells(Wiederholungen2, 70)
               Cells(Wiederholungen1, 71) = Cells(Wiederholungen1, 71) + Cells(Wiederholungen2, 71)
               Cells(Wiederholungen1, 72) = Cells(Wiederholungen1, 72) + Cells(Wiederholungen2, 72)
               Cells(Wiederholungen1, 73) = Cells(Wiederholungen1, 73) + Cells(Wiederholungen2, 73)
               Cells(Wiederholungen1, 74) = Cells(Wiederholungen1, 74) + Cells(Wiederholungen2, 74)
               Cells(Wiederholungen1, 75) = Cells(Wiederholungen1, 75) + Cells(Wiederholungen2, 75)
               Cells(Wiederholungen1, 76) = Cells(Wiederholungen1, 76) + Cells(Wiederholungen2, 76)
               Cells(Wiederholungen1, 77) = Cells(Wiederholungen1, 77) + Cells(Wiederholungen2, 77)
               Cells(Wiederholungen1, 78) = Cells(Wiederholungen1, 78) + Cells(Wiederholungen2, 78)
               Cells(Wiederholungen1, 79) = Cells(Wiederholungen1, 79) + Cells(Wiederholungen2, 79)
               Cells(Wiederholungen1, 80) = Cells(Wiederholungen1, 80) + Cells(Wiederholungen2, 80)
               Cells(Wiederholungen1, 81) = Cells(Wiederholungen1, 81) + Cells(Wiederholungen2, 81)
               Cells(Wiederholungen1, 82) = Cells(Wiederholungen1, 82) + Cells(Wiederholungen2, 82)
               Cells(Wiederholungen1, 83) = Cells(Wiederholungen1, 83) + Cells(Wiederholungen2, 83)
               Cells(Wiederholungen1, 84) = Cells(Wiederholungen1, 84) + Cells(Wiederholungen2, 84)
               Cells(Wiederholungen1, 85) = Cells(Wiederholungen1, 85) + Cells(Wiederholungen2, 85)
               Cells(Wiederholungen1, 86) = Cells(Wiederholungen1, 86) + Cells(Wiederholungen2, 86)
               Cells(Wiederholungen1, 87) = Cells(Wiederholungen1, 87) + Cells(Wiederholungen2, 87)
               Cells(Wiederholungen1, 88) = Cells(Wiederholungen1, 88) + Cells(Wiederholungen2, 88)
               Cells(Wiederholungen1, 89) = Cells(Wiederholungen1, 89) + Cells(Wiederholungen2, 89)
               Cells(Wiederholungen1, 90) = Cells(Wiederholungen1, 90) + Cells(Wiederholungen2, 90)
               Cells(Wiederholungen1, 91) = Cells(Wiederholungen1, 91) + Cells(Wiederholungen2, 91)
               Cells(Wiederholungen1, 92) = Cells(Wiederholungen1, 92) + Cells(Wiederholungen2, 92)
               Cells(Wiederholungen1, 93) = Cells(Wiederholungen1, 93) + Cells(Wiederholungen2, 93)
               Cells(Wiederholungen1, 94) = Cells(Wiederholungen1, 94) + Cells(Wiederholungen2, 94)
               Cells(Wiederholungen1, 95) = Cells(Wiederholungen1, 95) + Cells(Wiederholungen2, 95)
               Cells(Wiederholungen1, 96) = Cells(Wiederholungen1, 96) + Cells(Wiederholungen2, 96)
               Cells(Wiederholungen1, 97) = Cells(Wiederholungen1, 97) + Cells(Wiederholungen2, 97)
               Cells(Wiederholungen1, 98) = Cells(Wiederholungen1, 98) + Cells(Wiederholungen2, 98)
               Cells(Wiederholungen1, 99) = Cells(Wiederholungen1, 99) + Cells(Wiederholungen2, 99)
               Cells(Wiederholungen1, 100) = Cells(Wiederholungen1, 100) + Cells(Wiederholungen2, 100)
               Rows(Wiederholungen2).Delete
            End If
         End If
      Next
   Next
End Sub

20

Das Ergebnis kommt meinen wünschen jedoch schon sehr nahe.

Kann mir jemand mal den Code nennen um die ganzen doppelten Zeilen zu komprimieren?

Tabelle vor dem Makro
   

Tabelle nach ausgeführtem Makro
   


Dann ergeben sich weitere Probleme.

Ich würde die Felder die mit 0 befüllt wurden gerne leer behalten.
Ich empfinde es als übersichtlicher und vermute die Tabelle hat so weniger Daten zu Händeln.

Dann sollten noch die Zeilen farblich markiert werden in denen zwei werte addiert wurden die jeweils größer wie null waren.

Dann brauch ich wohl auch noch ein Makro das auf Knopfdruck die farbliche Markierung wieder rückgängig macht.

Undecided 20 Kann mir da niemand helfen?
to top
#3
Moin,
mit echten Daten statt netten Bildchen löse ich so etwas mit PivotTables.
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
to top
#4
Moin,
daran soll es nicht scheitern.

Hier einmal die Datei:

.xlsm   Loesungssuche.xlsm (Größe: 120,23 KB / Downloads: 8)

Das enthaltene Makro funktioniert, dauert jedoch auf meinem bescheidenden Rechner ca 20 Minuten und legt in dieser Zeit Excel lahm.

Ich bin für jede Hilfe dankbar.
Denke jedoch das Pivot eventuell nicht die Lösung für mich ist.
Doppelte Werte in Spalte A sollten entfernt werden um die riesige Tabelle schlank zu halten.
Mit Pivot bleiben die Zeilen laut meines Wissens erhalten so das in kürzester Zeit eine Gigantische Tabelle entstehen würde. Confused 

Gruß
Frank
to top
#5
Moin Frank,

aus Gründen der Sicherheit (locky lässt grüßen) lade ich seit einigen Tagen keine *.xlsm - Files herunter. Sorry, hätte ich erwähnen sollen. Exportiere gerne den Code in ein Textformat und stelle hier zusätzlich die reine *.xlsx ein, dann schaue ich mir das einmal an (ohne Gewähr einer helfenden Antwort ... ;-) ).
Beste Grüße
  Günther

Excel-ist-sexy.de
  …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
to top
#6
Hallo,

teste mal:


Code:
Option Explicit

Sub Löschen()

Dim i As Long, j As Long
Dim lngS As Long ' die letzte belegte Spalte in Zeile 4
Dim lngZ As Long ' die letzte belegte Zeile in Spalte A

With Worksheets("Tabelle1")
 lngZ = .Cells(Rows.Count, 1).End(xlUp).Row
 lngS = .Cells(4, Columns.Count).End(xlToLeft).Column
 .Range(Cells(4, 1), .Cells(lngZ, lngS)).Select
 .Range(Cells(4, 1), .Cells(lngZ, lngS)).Sort _
 Key1:=.Range("A1"), Order1:=xlAscending, _
 Header:=xlYes, OrderCustom:=1, _
 MatchCase:=False, Orientation:=xlTopToBottom

 .Range(.Cells(5, lngS + 2), .Cells(lngZ, lngS + 2)).FormulaLocal = "=Wenn(A5<>A4;ZÄHLENWENN(A:A;A5);0)"
 Application.ScreenUpdating = False
 Application.Calculation = xlCalculationManual
 On Error GoTo Ende
 For i = 5 To lngZ
   If Cells(i, lngS + 2) > 1 Then
     For j = 2 To lngS
       .Cells(i, j) = Application.WorksheetFunction.Sum(.Range(.Cells(i, j), .Cells(i + .Cells(i, lngS + 2) - 1, j)))
     Next j
   End If
 Next i
 .Range(Cells(4, 1), .Cells(lngZ, lngS)).RemoveDuplicates Columns:=1, Header:=xlYes
End With

Ende:
   Application.ScreenUpdating = True
   Application.Calculation = xlCalculationAutomatic
   If Err Then MsgBox "Fehler: " & Err.Number & vbLf & vbLf & Err.Description
End Sub


Ist nicht die schnellste Lösung aber schneller als Deine sollte sie sein.

Folgende Zellen könnten aber Probleme Bereiten. Denn sie werden einmal als Doppelte erkannt und dann wieder nicht.
Excel interpretiert den Inhalt als Zahl und ich habe keine Lösung gefunden, wie ich Excel davon abbringen kann.

Mit der Funktion Zählenwenn werden sie als doppelte erkannt. Das zeigt auch die Bedingte Formatierung. Beim Löschen mit Daten-Duplikate entfernen werden sie nicht als doppelte eingestuft. Diese Konstellationen müssen unter Umständen noch besonders berücksichtigt werden.



?mage


Ok hab diese Konstellation mit unten stehendem Code abgefangen, aber ist schon interessant, was Excel so alles veranstaltet:

Code:
Option Explicit

Sub Löschen()

Dim i As Long, j As Long
Dim lngS As Long ' die letzte belegte Spalte in Zeile 4
Dim lngZ As Long ' die letzte belegte Zeile in Spalte A

With Worksheets("Tabelle1")
 lngZ = .Cells(Rows.Count, 1).End(xlUp).Row
 lngS = .Cells(4, Columns.Count).End(xlToLeft).Column
 .Range(Cells(4, 1), .Cells(lngZ, lngS)).Select
 .Range(Cells(4, 1), .Cells(lngZ, lngS)).Sort _
 Key1:=.Range("A1"), Order1:=xlAscending, _
 Header:=xlYes, OrderCustom:=1, _
 MatchCase:=False, Orientation:=xlTopToBottom

 .Range(.Cells(5, lngS + 2), .Cells(lngZ, lngS + 2)).FormulaLocal = "=Wenn(A5<>A4;ZÄHLENWENN(A:A;A5);0)"
 Application.ScreenUpdating = False
 Application.Calculation = xlCalculationManual
 On Error GoTo Ende
 For i = 5 To lngZ
   If Cells(i, lngS + 2) > 1 Then
     If .Cells(i, 1) = .Cells(i + 1, 1) Then
       For j = 2 To lngS
         .Cells(i, j) = Application.WorksheetFunction.Sum(.Range(.Cells(i, j), .Cells(i + .Cells(i, lngS + 2) - 1, j)))
       Next j
     End If
   End If
 Next i
 .Range(Cells(4, 1), .Cells(lngZ, lngS)).RemoveDuplicates Columns:=1, Header:=xlYes
 .Columns(lngS + 2).Clear
End With

Ende:
   Application.ScreenUpdating = True
   Application.Calculation = xlCalculationAutomatic
   If Err Then MsgBox "Fehler: " & Err.Number & vbLf & vbLf & Err.Description
End Sub
Gruß Atilla
to top
#7
Guten Morgen,
vorab einmal die Datei für Günther ohne die Makro Version:

.xlsx   Loesungssuche.xlsx (Größe: 112,07 KB / Downloads: 2)

Mit dem letzten stümperhaften Code von mir incl. dem 'Entnullen' nach der Prozedur:
Code:
Sub Löschen()
Dim Wiederholungen1 As Long, Wiederholungen2 As Long
Application.ScreenUpdating = False
For Wiederholungen1 = 5 To Range("A65536").End(xlUp).Row
For Wiederholungen2 = 5 To Range("A65536").End(xlUp).Row
If Wiederholungen1 <> Wiederholungen2 Then
If Cells(Wiederholungen1, 1) = Cells(Wiederholungen2, 1) Then
Cells(Wiederholungen1, 2) = Cells(Wiederholungen1, 2) + Cells(Wiederholungen2, 2)
Cells(Wiederholungen1, 3) = Cells(Wiederholungen1, 3) + Cells(Wiederholungen2, 3)
Cells(Wiederholungen1, 4) = Cells(Wiederholungen1, 4) + Cells(Wiederholungen2, 4)
Cells(Wiederholungen1, 5) = Cells(Wiederholungen1, 5) + Cells(Wiederholungen2, 5)
Cells(Wiederholungen1, 6) = Cells(Wiederholungen1, 6) + Cells(Wiederholungen2, 6)
Cells(Wiederholungen1, 7) = Cells(Wiederholungen1, 7) + Cells(Wiederholungen2, 7)
Cells(Wiederholungen1, 8) = Cells(Wiederholungen1, 8) + Cells(Wiederholungen2, 8)
Cells(Wiederholungen1, 9) = Cells(Wiederholungen1, 9) + Cells(Wiederholungen2, 9)
Cells(Wiederholungen1, 10) = Cells(Wiederholungen1, 10) + Cells(Wiederholungen2, 10)
Cells(Wiederholungen1, 11) = Cells(Wiederholungen1, 11) + Cells(Wiederholungen2, 11)
Cells(Wiederholungen1, 12) = Cells(Wiederholungen1, 12) + Cells(Wiederholungen2, 12)
Cells(Wiederholungen1, 13) = Cells(Wiederholungen1, 13) + Cells(Wiederholungen2, 13)
Cells(Wiederholungen1, 14) = Cells(Wiederholungen1, 14) + Cells(Wiederholungen2, 14)
Cells(Wiederholungen1, 15) = Cells(Wiederholungen1, 15) + Cells(Wiederholungen2, 15)
Cells(Wiederholungen1, 16) = Cells(Wiederholungen1, 16) + Cells(Wiederholungen2, 16)
Cells(Wiederholungen1, 17) = Cells(Wiederholungen1, 17) + Cells(Wiederholungen2, 17)
Cells(Wiederholungen1, 18) = Cells(Wiederholungen1, 18) + Cells(Wiederholungen2, 18)
Cells(Wiederholungen1, 19) = Cells(Wiederholungen1, 19) + Cells(Wiederholungen2, 19)
Cells(Wiederholungen1, 20) = Cells(Wiederholungen1, 20) + Cells(Wiederholungen2, 20)
Cells(Wiederholungen1, 21) = Cells(Wiederholungen1, 21) + Cells(Wiederholungen2, 21)
Cells(Wiederholungen1, 22) = Cells(Wiederholungen1, 22) + Cells(Wiederholungen2, 22)
Cells(Wiederholungen1, 23) = Cells(Wiederholungen1, 23) + Cells(Wiederholungen2, 23)
Cells(Wiederholungen1, 24) = Cells(Wiederholungen1, 24) + Cells(Wiederholungen2, 24)
Cells(Wiederholungen1, 25) = Cells(Wiederholungen1, 25) + Cells(Wiederholungen2, 25)
Cells(Wiederholungen1, 26) = Cells(Wiederholungen1, 26) + Cells(Wiederholungen2, 26)
Cells(Wiederholungen1, 27) = Cells(Wiederholungen1, 27) + Cells(Wiederholungen2, 27)
Cells(Wiederholungen1, 28) = Cells(Wiederholungen1, 28) + Cells(Wiederholungen2, 28)
Cells(Wiederholungen1, 29) = Cells(Wiederholungen1, 29) + Cells(Wiederholungen2, 29)
Cells(Wiederholungen1, 30) = Cells(Wiederholungen1, 30) + Cells(Wiederholungen2, 30)
Cells(Wiederholungen1, 31) = Cells(Wiederholungen1, 31) + Cells(Wiederholungen2, 31)
Cells(Wiederholungen1, 32) = Cells(Wiederholungen1, 32) + Cells(Wiederholungen2, 32)
Cells(Wiederholungen1, 33) = Cells(Wiederholungen1, 33) + Cells(Wiederholungen2, 33)
Cells(Wiederholungen1, 34) = Cells(Wiederholungen1, 34) + Cells(Wiederholungen2, 34)
Cells(Wiederholungen1, 35) = Cells(Wiederholungen1, 35) + Cells(Wiederholungen2, 35)
Cells(Wiederholungen1, 36) = Cells(Wiederholungen1, 36) + Cells(Wiederholungen2, 36)
Cells(Wiederholungen1, 37) = Cells(Wiederholungen1, 37) + Cells(Wiederholungen2, 37)
Cells(Wiederholungen1, 38) = Cells(Wiederholungen1, 38) + Cells(Wiederholungen2, 38)
Cells(Wiederholungen1, 39) = Cells(Wiederholungen1, 39) + Cells(Wiederholungen2, 39)
Cells(Wiederholungen1, 40) = Cells(Wiederholungen1, 40) + Cells(Wiederholungen2, 40)
Cells(Wiederholungen1, 41) = Cells(Wiederholungen1, 41) + Cells(Wiederholungen2, 41)
Cells(Wiederholungen1, 42) = Cells(Wiederholungen1, 42) + Cells(Wiederholungen2, 42)
Cells(Wiederholungen1, 43) = Cells(Wiederholungen1, 43) + Cells(Wiederholungen2, 43)
Cells(Wiederholungen1, 44) = Cells(Wiederholungen1, 44) + Cells(Wiederholungen2, 44)
Cells(Wiederholungen1, 45) = Cells(Wiederholungen1, 45) + Cells(Wiederholungen2, 45)
Cells(Wiederholungen1, 46) = Cells(Wiederholungen1, 46) + Cells(Wiederholungen2, 46)
Cells(Wiederholungen1, 47) = Cells(Wiederholungen1, 47) + Cells(Wiederholungen2, 47)
Cells(Wiederholungen1, 48) = Cells(Wiederholungen1, 48) + Cells(Wiederholungen2, 48)
Cells(Wiederholungen1, 49) = Cells(Wiederholungen1, 49) + Cells(Wiederholungen2, 49)
Cells(Wiederholungen1, 50) = Cells(Wiederholungen1, 50) + Cells(Wiederholungen2, 50)
Cells(Wiederholungen1, 51) = Cells(Wiederholungen1, 51) + Cells(Wiederholungen2, 51)
Cells(Wiederholungen1, 52) = Cells(Wiederholungen1, 52) + Cells(Wiederholungen2, 52)
Cells(Wiederholungen1, 53) = Cells(Wiederholungen1, 53) + Cells(Wiederholungen2, 53)
Cells(Wiederholungen1, 54) = Cells(Wiederholungen1, 54) + Cells(Wiederholungen2, 54)
Cells(Wiederholungen1, 55) = Cells(Wiederholungen1, 55) + Cells(Wiederholungen2, 55)
Cells(Wiederholungen1, 56) = Cells(Wiederholungen1, 56) + Cells(Wiederholungen2, 56)
Cells(Wiederholungen1, 57) = Cells(Wiederholungen1, 57) + Cells(Wiederholungen2, 57)
Cells(Wiederholungen1, 58) = Cells(Wiederholungen1, 58) + Cells(Wiederholungen2, 58)
Cells(Wiederholungen1, 59) = Cells(Wiederholungen1, 59) + Cells(Wiederholungen2, 59)
Cells(Wiederholungen1, 60) = Cells(Wiederholungen1, 60) + Cells(Wiederholungen2, 60)
Cells(Wiederholungen1, 61) = Cells(Wiederholungen1, 61) + Cells(Wiederholungen2, 61)
Cells(Wiederholungen1, 62) = Cells(Wiederholungen1, 62) + Cells(Wiederholungen2, 62)
Cells(Wiederholungen1, 63) = Cells(Wiederholungen1, 63) + Cells(Wiederholungen2, 63)
Cells(Wiederholungen1, 64) = Cells(Wiederholungen1, 64) + Cells(Wiederholungen2, 64)
Cells(Wiederholungen1, 65) = Cells(Wiederholungen1, 65) + Cells(Wiederholungen2, 65)
Cells(Wiederholungen1, 66) = Cells(Wiederholungen1, 66) + Cells(Wiederholungen2, 66)
Cells(Wiederholungen1, 67) = Cells(Wiederholungen1, 67) + Cells(Wiederholungen2, 67)
Cells(Wiederholungen1, 68) = Cells(Wiederholungen1, 68) + Cells(Wiederholungen2, 68)
Cells(Wiederholungen1, 69) = Cells(Wiederholungen1, 69) + Cells(Wiederholungen2, 69)
Cells(Wiederholungen1, 70) = Cells(Wiederholungen1, 70) + Cells(Wiederholungen2, 70)
Cells(Wiederholungen1, 71) = Cells(Wiederholungen1, 71) + Cells(Wiederholungen2, 71)
Cells(Wiederholungen1, 72) = Cells(Wiederholungen1, 72) + Cells(Wiederholungen2, 72)
Cells(Wiederholungen1, 73) = Cells(Wiederholungen1, 73) + Cells(Wiederholungen2, 73)
Cells(Wiederholungen1, 74) = Cells(Wiederholungen1, 74) + Cells(Wiederholungen2, 74)
Cells(Wiederholungen1, 75) = Cells(Wiederholungen1, 75) + Cells(Wiederholungen2, 75)
Cells(Wiederholungen1, 76) = Cells(Wiederholungen1, 76) + Cells(Wiederholungen2, 76)
Cells(Wiederholungen1, 77) = Cells(Wiederholungen1, 77) + Cells(Wiederholungen2, 77)
Cells(Wiederholungen1, 78) = Cells(Wiederholungen1, 78) + Cells(Wiederholungen2, 78)
Cells(Wiederholungen1, 79) = Cells(Wiederholungen1, 79) + Cells(Wiederholungen2, 79)
Cells(Wiederholungen1, 80) = Cells(Wiederholungen1, 80) + Cells(Wiederholungen2, 80)
Cells(Wiederholungen1, 81) = Cells(Wiederholungen1, 81) + Cells(Wiederholungen2, 81)
Cells(Wiederholungen1, 82) = Cells(Wiederholungen1, 82) + Cells(Wiederholungen2, 82)
Cells(Wiederholungen1, 83) = Cells(Wiederholungen1, 83) + Cells(Wiederholungen2, 83)
Cells(Wiederholungen1, 84) = Cells(Wiederholungen1, 84) + Cells(Wiederholungen2, 84)
Cells(Wiederholungen1, 85) = Cells(Wiederholungen1, 85) + Cells(Wiederholungen2, 85)
Cells(Wiederholungen1, 86) = Cells(Wiederholungen1, 86) + Cells(Wiederholungen2, 86)
Cells(Wiederholungen1, 87) = Cells(Wiederholungen1, 87) + Cells(Wiederholungen2, 87)
Cells(Wiederholungen1, 88) = Cells(Wiederholungen1, 88) + Cells(Wiederholungen2, 88)
Cells(Wiederholungen1, 89) = Cells(Wiederholungen1, 89) + Cells(Wiederholungen2, 89)
Cells(Wiederholungen1, 90) = Cells(Wiederholungen1, 90) + Cells(Wiederholungen2, 90)
Cells(Wiederholungen1, 91) = Cells(Wiederholungen1, 91) + Cells(Wiederholungen2, 91)
Cells(Wiederholungen1, 92) = Cells(Wiederholungen1, 92) + Cells(Wiederholungen2, 92)
Cells(Wiederholungen1, 93) = Cells(Wiederholungen1, 93) + Cells(Wiederholungen2, 93)
Cells(Wiederholungen1, 94) = Cells(Wiederholungen1, 94) + Cells(Wiederholungen2, 94)
Cells(Wiederholungen1, 95) = Cells(Wiederholungen1, 95) + Cells(Wiederholungen2, 95)
Cells(Wiederholungen1, 96) = Cells(Wiederholungen1, 96) + Cells(Wiederholungen2, 96)
Cells(Wiederholungen1, 97) = Cells(Wiederholungen1, 97) + Cells(Wiederholungen2, 97)
Cells(Wiederholungen1, 98) = Cells(Wiederholungen1, 98) + Cells(Wiederholungen2, 98)
Cells(Wiederholungen1, 99) = Cells(Wiederholungen1, 99) + Cells(Wiederholungen2, 99)
Cells(Wiederholungen1, 100) = Cells(Wiederholungen1, 100) + Cells(Wiederholungen2, 100)
Rows(Wiederholungen2).Delete
' Entnullen Makro
'
    Range("B5:ZZ15000").Select
    Selection.Replace What:="0", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
End If
End If
Next
Next
End Sub
to top
#8
Guten Morgen Atilla,

interessant ist bei den Werten unter 'Zählenwenn' in Zeile 17-20 auch das addier Ergebnis:.

Ursprung:
[attachment=4402]

Summe'n' Ergebnis Undecided Huh :
[attachment=4403]

Wie um alles in Welt kommt Excel da auf 7? Confused

Danke erstmal für die Geschwindigkeit, damit kann man doch schon mal Leben, Genial 19 

Aber warum entsteht am Ende der Tabelle eine weitere Zeile mit Nullen in Zeile 4734?

[attachment=4404]

Ich hab durch die Makro Aufzeichnung noch folgenden Code für das anschließende 'Entnullen' eingefügt:

 ' Entnullen Makro
'
    Range("B5:ZZ15000").Select
    Selection.Replace What:="0", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
End If

Leider dauert dieser Nachtrag länger als die ganze 'Arbeit' zuvor. Angry

Gibt es da einen Weg die Nullen erst gar nicht eintragen zu lassen, oder eine schnellere Variante um sie wieder zu entfernen?

Gruß

Frank
to top
#9
...bleibt noch die Hürde mit dem Markieren addierter Zahlenwerte die beide höher Null waren.

Ich komme wohl nicht umher Mir jeden einzelnen Wert in entsprechender Zeile manuell anzusehen.

Werte die es zuvor noch nicht gab können getrost eingetragen werden. Ihnen vertraue ich.
 
Wenn jedoch zuvor schon ein Wert in einer Zelle stand und nun ein weiterer hinzuaddiert wird muss ich diese Werte überprüfen.
(Hiermit meine ich nicht die Bezeichnung in Spalte A)
Wie erreiche ich das?

Entsprechende Zeilen nur zu markieren dürfte mich nicht weiter bringen. 
Denn sobald ich die erste Zeile bearbeitet hätte wäre die Markierung der anderen Zellen aufgehoben.

Noch schöner wäre es natürlich wenn all jene Zeilen vorerst ans ende der Tabelle verschoben würden um sie bearbeiten zu können.
Dabei würde ich wohl schon an alphabetischer Reihenfolge erkennen können welche Zeilen Aufmerksamkeit bedürfen.
to top
#10
...ach Atilla,
einen hab ich noch.

Nach dem erfolgreichen Makro lauf erhalte ich immer ne Fehlermedung:

"Fehler: 9
Index außerhalb des gültigen Bereichs"

Kann ich das getrost ignorieren?

hängt das mit den Werten in Zeilen 17-20 zusammen die Excel als Zahlenwerte deutet?

Fragen über Fragen  Angel Angry Angel
to top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste