
132183
10.03.2017, aktualisiert um 20:39:50 Uhr
Nach Prüfung Farblich unterlegen und Summieren
Hallo
Vielleicht könnt ihr mir helfen.
Ich hab eine Liste in der steht in der Spalte E eine als Text formatierte Personalnummer und in Spalte F ein Name. Manche der Name und Personalnummer steht in der Liste 2-3 mal untereinander.
Jetzt würde ich eine kleines Programm brauchen das immer den Namen und dazugehörige Personalnummer mit den Namen und Personalnummer darunter vergleicht.
Sofern der Name zwei oder mehrmals vorkommt. Aber die Personalnummer daneben anders ist. Sollen die beiden Namen und Personalnummern in irgend einer Farbe unterlegt werden.
So in etwa saut so ein Fehler aus
1 I___________ I___________ I___________ I___________ I___________I___________________I___________ I___________ I
2 I___________ I___________ I___________ I_____32 ___ I 0548345 I Maria Musterfrau I_____10____I___________ I
3 I___________ I___________ I___________ I______0____ I 0548345 I Maria Musterfrau I_____15____I___________ I
4 I___________ I___________ I___________ I______0____ I 0222222 I Maria Musterfrau I______7 ____I___________ I
.
Jetzt müsste die Zellen E3 F3 und E4 F4 Farbig unterlegt werden. Bzw alle 6 Zellen wären auch ok und zusätzlich sollten die Zellen G2,G3,G4 Summiert werden. Und das Ergebnis in D2 Geschrieben werden , die anderen Zellen D3 und D4 bekommen eine null. Die Berechnung sollte die ganze liste betreffen nicht nur die werte mit Fehlern wenn das nicht geht dann reicht mir natürlich auch nur die Farbmarkierung.
Der sin ist, das durch kopieren manche der Benutzer der Liste, den Namen kopieren aber nicht die Personalnummer wenn sie eine neue Zeile erstellen und dann steht der Name zwar untereinander. Weil die liste sortiert ist, aber oft hat einer der Einträge eine andere Personalnummer. Weis auch nicht wie das dauernd passiert. Mit Farbiger Unterlegung würde ich es Schneller erkennen.
Wäre sehr nett, wen mir da jemand weiterhelfen könnte bin ziemlich unfähig in VBA.
Grüße Semmy
Vielleicht könnt ihr mir helfen.
Ich hab eine Liste in der steht in der Spalte E eine als Text formatierte Personalnummer und in Spalte F ein Name. Manche der Name und Personalnummer steht in der Liste 2-3 mal untereinander.
Jetzt würde ich eine kleines Programm brauchen das immer den Namen und dazugehörige Personalnummer mit den Namen und Personalnummer darunter vergleicht.
Sofern der Name zwei oder mehrmals vorkommt. Aber die Personalnummer daneben anders ist. Sollen die beiden Namen und Personalnummern in irgend einer Farbe unterlegt werden.
So in etwa saut so ein Fehler aus
1 I___________ I___________ I___________ I___________ I___________I___________________I___________ I___________ I
2 I___________ I___________ I___________ I_____32 ___ I 0548345 I Maria Musterfrau I_____10____I___________ I
3 I___________ I___________ I___________ I______0____ I 0548345 I Maria Musterfrau I_____15____I___________ I
4 I___________ I___________ I___________ I______0____ I 0222222 I Maria Musterfrau I______7 ____I___________ I
.
Jetzt müsste die Zellen E3 F3 und E4 F4 Farbig unterlegt werden. Bzw alle 6 Zellen wären auch ok und zusätzlich sollten die Zellen G2,G3,G4 Summiert werden. Und das Ergebnis in D2 Geschrieben werden , die anderen Zellen D3 und D4 bekommen eine null. Die Berechnung sollte die ganze liste betreffen nicht nur die werte mit Fehlern wenn das nicht geht dann reicht mir natürlich auch nur die Farbmarkierung.
Der sin ist, das durch kopieren manche der Benutzer der Liste, den Namen kopieren aber nicht die Personalnummer wenn sie eine neue Zeile erstellen und dann steht der Name zwar untereinander. Weil die liste sortiert ist, aber oft hat einer der Einträge eine andere Personalnummer. Weis auch nicht wie das dauernd passiert. Mit Farbiger Unterlegung würde ich es Schneller erkennen.
Wäre sehr nett, wen mir da jemand weiterhelfen könnte bin ziemlich unfähig in VBA.
Grüße Semmy
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 331806
Url: https://administrator.de/forum/nach-pruefung-farblich-unterlegen-und-summieren-331806.html
Ausgedruckt am: 17.04.2025 um 06:04 Uhr
21 Kommentare
Neuester Kommentar

Selten so eine Grütze gelesen. => Schnell in den Papierkorb damit! Ist ja peinlich, setzen 6-, Grundschule wiederholen!
Hallo,
Gruß,
Peter
Zitat von @132183:
Ich hab eine liste in der steht in dieser liste stehen Einspalte E eine
Was hast du?Ich hab eine liste in der steht in dieser liste stehen Einspalte E eine
Manche der Name und Personalnummer steht in der liste 2-3 mal untereinander.
Tatsächlich immer und ausschließlich untereinander oder auch quer durch dein Excelblatt verstreut?Jetzt würde ich eine kleines Programm brauchen das immer den Namen und dazugehörige Personalnummer mit den Namen und Personalnummer
Nennt sich Dublettensuche. Und wenn die eben nicht untereinander stehen?Wenn der Name zwei oder mehr Mals vorkommt. Aber die Personalnummer daneben ist plötzlich ändert.
Wie kann ein und diesselbe Person mehrere Personalnummern haben? Solltest du nicht lieber schauen das die Personalnummern sortiert werden und du so Dubletten leichter aufspürst?Sollen die beiden Namen und Personalnummern in irgend einer Farbe unterlegt werden.
Irgendeine noch nicht verwendete Farbe in dein Excelblatt oder dürfen die Farben auch mehrmals vorkommen?So in etwa saut so ein Fehler aus
Du darfst ruhig von dein Excelblatt einen Auszug machen (Snippingtool oder Greenshot oder sonstein Bildschirmfotographierwerkzeug) und das Bild dann hier im Beitrag einfügen. Dazu dient das Kamerasymbol links vom Editor hier im Forum.Jetzt müsste da Zellen E3 F3 und E4 F4 Farbig unterlegt werden.
Die gleiche Farbe oder verschiedene?Der sin ist, das durch kopieren manche der Benutzer der Liste, den Namen kopieren aber nicht die Personalnummer wenn sie eine neue Zeile erstellen
Dann ist dein Excellblatt falsch aufgebaut wenn die welche die Werte eingeben dort schon fehlerhafte Daten eingeben können, oder du musst diejenigen dort besser Schulen.und dann steht die der Name zwar untereinander weil die liste sortiert ist aber oft hat einer der eintrage eine andere Personalnummer.
Lasse nur zu das die Personalnummer eingegeben wird und der Personalname wird aus einer Liste automatischen eingetragen. Serweis ist dein Freund.Mit Farbiger Unterlegung würde ich es Schneller erkennen.
Erkennen zwar, aber gar nicht erst den Fehler zulassen ist die Lösung.Wäre ser nett wen mir da jemand weiterhelfen könnte bin ziemlich unfähig in VBA.
Sverweis arbeitet auch ohne VBA und Zellen gar nicht erst beschreibbar zu haben, dazu braucht es auch kein VBA. Blattschutz ist dein Helfer.Gruß,
Peter
Hallo,
http://www.0711office.de/excel/DuplikateHervorhebenAddIn.htm
http://www.it-service-ruhr.de/tipp/excel-doppelte-datensaetze-finden
http://www.tabellenexperte.de/dublettensuche-mit-excel
https://support.office.com/de-de/article/Finden-und-Entfernen-von-Duplik ...
https://support.office.com/de-de/article/Filtern-auf-oder-Entfernen-von- ...
Gruß,
Peter
Zitat von @132183:
leider kann ich am Aufbau der Tabelle nichts ändern, ich kann sie nur korrigieren bevor ich sie benutze. Ich bin dort der Praktikant. Die selbe Farbe reicht aus unterschiedliche Farben sind nur unnötige Arbeit.
Und wie willst du dann dein VBA in das Excell bekommen wenn du nichts darfst?leider kann ich am Aufbau der Tabelle nichts ändern, ich kann sie nur korrigieren bevor ich sie benutze. Ich bin dort der Praktikant. Die selbe Farbe reicht aus unterschiedliche Farben sind nur unnötige Arbeit.
Ich wollte eigentlich vor dem Code zum einfärben und berechnen eine Sortierung laufen lassen die ich mit dem Recorder Aufgezeichnet habe.
Bedenke nicht nur die einzelne Spalte sondern immer den ganze Datensätze zu Sortieren.aber ich weis es nicht genau.
Solltest du als zukünftiger Excel Experte dort aber rausbekommen um die Abläufe ins richtige Lot zu bringen.Wie gesagt, bin der Praktikant, die würden mir was Pfeifen. Ist nicht meine Mappe
Sag denen doch ruhig das an deren aufbau und handhabung etwas massiv falsch läuft - dazu braucht es kein Experte, das kann dir jeder sagen der sich mit Excel und Daten auch nur mal 1 Tag beschäftigt hat.Mit Farbiger Unterlegung würde ich es Schneller erkennen.
Start - Formatvorlagen - Bedingte Formatierung - Regeln zum Hervorheben von Zeilen - Doppelte Werte . farbe aussuchen und OK. Oder aber Sub Doppelte()
Cells.Select
Selection.FormatConditions.AddUniqueValues
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
Selection.FormatConditions(1).DupeUnique = xlDuplicate
With Selection.FormatConditions(1).Font
.Color = -16751204
.TintAndShade = 0
End With
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 10284031
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
Range("C14").Select
End Sub
http://www.it-service-ruhr.de/tipp/excel-doppelte-datensaetze-finden
http://www.tabellenexperte.de/dublettensuche-mit-excel
https://support.office.com/de-de/article/Finden-und-Entfernen-von-Duplik ...
https://support.office.com/de-de/article/Filtern-auf-oder-Entfernen-von- ...
Gruß,
Peter
Hallo,
Daten zuerst Sortieren (Personalnummer vorzugsweise da der dortige Text leicht in Nummern gewandelt werden kann)
Zwei unabhängige Zeilenzähler
Zellinhalt einlesen und merken
Nächste Zeile und den dortigen Zellinhalt mit den gespeicherten Zellinhalt vergleichen. Wenn gleich nächsten Zellinhalt mit vorhegerigen zellinhalt vergleichen. Wenn gleich Zellen farblich markieren
usw.
usw.
usw.
Noch eine kleine For - Next oder While Wend oder Do Loop drumherum, ein wenig Fehlerbehandlung und dein VBA kann loslaufen.

https://support.office.com/de-de/article/Z%C3%A4hlen-der-Anzahl-eindeuti ...
http://www.klamm.de/forum/f68/excel-zaehlen-aller-doppelter-werte-35656 ...
http://www.supportnet.de/fresh/2007/11/id1628087.asp
https://support.office.com/de-de/article/Z%C3%A4hlen-wie-h%C3%A4ufig-ein ...
http://www.herber.de/forum/archiv/844to848/847078_Doppelte_zaehlen_per_ ...
http://www.ms-office-forum.net/forum/showthread.php?t=273675
http://www.office-loesung.de/ftopic518604_0_0_asc.php
https://msdn.microsoft.com/de-de/library/office/ee814737%28v=office.14%2 ...
http://www.excel-easy.com/vba.html
https://www.tutorialspoint.com/vba/
https://www.excel-pratique.com/en/vba.php
http://www.vba-tutorial.de/
Gruß,
Peter
Zitat von @132183:
Wobei die Datei ist sogar als xlsm abgespeichert
Bedenke das heutige OSe und Officedokumente, speziell die mit Makros, oftmals gesperrt sind weil eben ein Makro auch ganz was anderes tun kann als auf den Bildschirm zu sehen ist.Wobei die Datei ist sogar als xlsm abgespeichert
Ist jetzt eine Datenzeile (eine P Nr.) falsch dann
Wer garantiert das die Personalnamen denn alle gleich geschrieben werden oder sind? Wer sagt das auch immer die richtige Personalnummer verwendet wird? Was hindert dort das jemand anstelle von "Maria Musterfrau" ein "Märia Musterfrua" eingetippelt werden kann oder das anstelle der "0548345" eben mehrmals ein "O548345" oder "0549345" gemacht wird" Was ist wenn 5 datensätze eben "0548345 Maria Musterfrau" haben und 5 Datensätze ein "Marai Musterfrau 0349345" habe? Welche sind dann richtig bzw welche Daten sind falsch? Stell dir vor an ein CNC Drehautomat kann jemand der 80 mm lange Stifte produzieren will mal eben 80 km einstellt (vertippt oder sonstwas). Das darf nicht passieren, daher den fehler an der Quelle eliminieren. Bei verwendung von Sverweis dort braucht auch nur noch die Personalnummer eingegeben werden, den Namen holt es sich selbst. Dann kann dort der Fehler das die Personalnummer nicht passend zum Personalnamen ist gar nicht mehr auftauchen - neben dem effekt das die Eingabe schneller ist und die Dublettensuche ganz entfällt.Da es keine schleife ist kann ich da auch keine Berechnung anhängen.
Das ist nicht mal eben so gemacht und wird je nach Anzahl an Datenzeilen entsprechend beim ablaufen dauern.Daten zuerst Sortieren (Personalnummer vorzugsweise da der dortige Text leicht in Nummern gewandelt werden kann)
Zwei unabhängige Zeilenzähler
Zellinhalt einlesen und merken
Nächste Zeile und den dortigen Zellinhalt mit den gespeicherten Zellinhalt vergleichen. Wenn gleich nächsten Zellinhalt mit vorhegerigen zellinhalt vergleichen. Wenn gleich Zellen farblich markieren
usw.
usw.
usw.
Noch eine kleine For - Next oder While Wend oder Do Loop drumherum, ein wenig Fehlerbehandlung und dein VBA kann loslaufen.
Es würde ja nicht darum gehen Duplikate zu finden sondern Abweichungen:
Abweichungen sind dann alles was keine Duplikate sindhttps://support.office.com/de-de/article/Z%C3%A4hlen-der-Anzahl-eindeuti ...
http://www.klamm.de/forum/f68/excel-zaehlen-aller-doppelter-werte-35656 ...
http://www.supportnet.de/fresh/2007/11/id1628087.asp
https://support.office.com/de-de/article/Z%C3%A4hlen-wie-h%C3%A4ufig-ein ...
http://www.herber.de/forum/archiv/844to848/847078_Doppelte_zaehlen_per_ ...
http://www.ms-office-forum.net/forum/showthread.php?t=273675
http://www.office-loesung.de/ftopic518604_0_0_asc.php
https://msdn.microsoft.com/de-de/library/office/ee814737%28v=office.14%2 ...
http://www.excel-easy.com/vba.html
https://www.tutorialspoint.com/vba/
https://www.excel-pratique.com/en/vba.php
http://www.vba-tutorial.de/
Gruß,
Peter

Für nen 10er mach ich dir das fix und fertig im Handumdehen.
Gruß schnappi
Gruß schnappi

Code wurde per PN abgeliefert, schau in deinen Briefkasten.
Gruß schnappi
Gruß schnappi
Hallo,
Wie weit ist denn der Quellcode gediehen? Du hattest ja selbst ja auch schon vielversprechend deinen Anfang gemacht. Vergiss erstmal das Code Optimieren und schön aussehen (nein, nicht das Strukturieren) sondern versuche deine Bedingungen zu erfüllen. Gilt dein Aufbau noch?
Sowie dein Nach Prüfung Farblich unterlegen und Summieren ?
Was ist in F2 drin?
Gruß,
Peter
Zitat von @132183:
Na toll 10er kassiert, fehlerhaften code bzw nicht richtig funktionierenden code abgeliefert und Account offenbar gelöscht . Perfekt, das hab ich davon.
Hoffentlich erwartest du darauf kein Kommentar?Na toll 10er kassiert, fehlerhaften code bzw nicht richtig funktionierenden code abgeliefert und Account offenbar gelöscht . Perfekt, das hab ich davon.
Wie weit ist denn der Quellcode gediehen? Du hattest ja selbst ja auch schon vielversprechend deinen Anfang gemacht. Vergiss erstmal das Code Optimieren und schön aussehen (nein, nicht das Strukturieren) sondern versuche deine Bedingungen zu erfüllen. Gilt dein Aufbau noch?
Sowie dein Nach Prüfung Farblich unterlegen und Summieren ?
Was ist in F2 drin?
Gruß,
Peter

Sub MarkDoublesAndSum()
Dim cell As Range, ref As Range, colorCurrent As Long, dic As Object
Set dic = CreateObject("Scripting.Dictionary")
If MsgBox("Bitte eine Zelle in der Spalte ""Name"" markieren!" & vbNewLine & "Ist das aktuell der Fall?", vbYesNo Or vbInformation) = vbNo Then Exit Sub
With ActiveSheet
'ref wird immer die Zelle des ersten Eintrags von doppelten Werten zugewiesen
Set ref = .Cells(1, Selection.Column)
' Farben setzen
colorsHighlight = Array(vbYellow, vbGreen)
colorCurrent = colorsHighlight(0)
'Ermittle den belegten Bereich der aktuell markierten Spalte
With .Range(.Cells(2, Selection.Column), .Cells(.Cells(Rows.Count, "F").End(xlUp).Row, Selection.Column))
'Für jede Zelle in Spalte F
For Each cell In .Cells
'Wenn aktuelle Zelle unterschiedlich zur Referenzzelle
If cell.Value <> ref.Value And cell.Offset(0, -1).Value <> ref.Offset(0, -1).Value Then
Set ref = cell
'setze Summe auf 0
ref.Offset(0, -2).Value = 0
'Summe initial mit Wert rechts neben Name
ref.Offset(0, -2).Value = cell.Offset(0, 1).Value
'Dictionary auf doppelte Personalnummern prüfen
If dic.Exists(cell.Offset(0, -1).Value) Then
If dic.Item(cell.Offset(0, -1).Value) <> cell.Value Then
cell.Offset(0, -1).Resize(1, 2).Interior.Color = IIf(colorCurrent = colorsHighlight(0), colorsHighlight(1), colorsHighlight(0))
cell.Offset(0, -1).Font.Color = vbRed
colorCurrent = IIf(colorCurrent = colorsHighlight(0), colorsHighlight(1), colorsHighlight(0))
End If
Else
' Personalnummer und Name zu Dictionary hinzufügen
dic.Add cell.Offset(0, -1).Value, cell.Value
End If
ElseIf cell.Value = ref.Value And cell.Offset(0, -1).Value <> ref.Offset(0, -1).Value Then
'setze Summe auf 0
cell.Offset(0, -2).Value = 0
'Markiere Block mit Farbe
ref.Offset(0, -1).Resize(cell.Row - ref.Row + 1, 2).Interior.Color = IIf(colorCurrent = colorsHighlight(0), colorsHighlight(1), colorsHighlight(0))
colorCurrent = IIf(colorCurrent = colorsHighlight(0), colorsHighlight(1), colorsHighlight(0))
'Summiere Werte und schreibe die Summe
ref.Offset(0, -2).Value = ref.Offset(0, -2).Value + cell.Offset(0, 1).Value
Else
'Doppelter Wert
If IsNumeric(cell.Offset(0, -2)) Then cell.Offset(0, -2).Value = 0
'Summiere Werte und schreibe die Summe
ref.Offset(0, -2).Value = ref.Offset(0, -2).Value + cell.Offset(0, 1).Value
End If
Next
End With
End With
End Sub

Zitat von @132183:
Das ist es zwar nicht ganz da er ja nur die fehlerhaften Markieren soll aber alle berechnen. aber der code hilft mir trotzdem sehr weiter.
Naja, markiert genau so wie du das in deinem Sheet markiert hast, aber mit dem Durcheinander hier weiß ja keiner mehr was überhaupt Sache ist und sein soll!!Das ist es zwar nicht ganz da er ja nur die fehlerhaften Markieren soll aber alle berechnen. aber der code hilft mir trotzdem sehr weiter.
Lerne VBA und machs halt selbst wenn einem hier nichts passt und man sein Vorhaben nicht vernünftig beim ersten mal erläutern kann.
Bitte nicht vergessen als gelöst zu markieren.Danke.
Gruß p.