Anzeige
Archiv - Navigation
1860to1864
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

CountIfs mit zweiter Bedingung

CountIfs mit zweiter Bedingung
07.12.2021 13:50:39
Martin
Ich habe in einer Tabelle beginnend in Zeile 7 in Spalte E Kartennummern (Ziffern mit Text) stehen. Jede Kartennummer ist einer Personalnummer in Spalte D zugeordnet. Es kann verschiedene Geschäftsvorfälle geben, daher gibt es oft mehrere Zeilen mit der gleichen Kartennummer - aber dann immer nur mit der gleichen Personalnummer.
Ich möchte nun per VBA prüfen, ob es eine Kartennummer gibt, die mehrfach für unterschiedliche Personalnummern vorkommt.
Bisher habe ich nur einen Code zustande gekriegt, der doppelte Kartennummern auflistet, wenn auch die Personalnummer gleich ist.

Sub Check
Dim Kartennummern As Range, PersNr As Range
Dim Zelle As Range
lz = Sheets("Gesamt").Cells(65536, 4).End(xlUp).Row
Set Kartennummern = Range("E7:E" & lz)
Set PersNr = Range("D7:D" & lz)
For Each Zelle In Kartennummern
If WorksheetFunction.CountIfs(Kartennummern, Zelle.Value, PersNr, Zelle.Offset(0, -1)) > 1 Then
MsgBox "Die Kartennummer " & Zelle.Value & " ist mehrfach an die gleiche Person vergeben"
'stattdessen gewollt: Die Kartennummer ist mehr als einer Person zugeordnet
End If
Next Zelle
End Sub
Die einzige Lösung, die mir einfällt, wäre erstmal die Tabelle nach Kartennummer und dann nach Personalnummer zu sortieren, und dann Zeile für Zeile durchzugehen, ob die Kartennummer die gleiche wie in der Zeile darüber ist, und wenn ja, ob dann die Personalnummer unterschiedlich ist. Das geht aber doch bestimmt einfacher...

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CountIfs mit zweiter Bedingung
07.12.2021 13:58:12
Daniel
Hi
probier mal die Prüfung:

If WorksheetFunction.CountIfs(Kartennummern, Zelle.Value, PersNr, Zelle.Offset(0, -1)) > WorksheetFunction.CountIfs(Kartennummern, Zelle.Value) Then
wenn eine Karte immer nur der gleichen Person zugeordnet ist, muss die Anzahl wenn du Kartennummer alleine zählst, gleich der Anzahl sein, die du bekommst wenn du die Kartennummer zusammen mit einer Person zählst.
Gruß Daniel
AW: CountIfs mit zweiter Bedingung
07.12.2021 14:07:25
Martin
Vielen Dank. Das bringt aber nun leider gar keine Treffer - weder Kartennummern mit gleicher noch mit unterschiedlicher Personalnummer
Anzeige
AW: CountIfs mit zweiter Bedingung
07.12.2021 14:14:57
Daniel
ja, stimmt, da ist ein Fehler drin.
aber vielleicht findest du den ja selber.
ich gehe mal davon aus, dass du das Prinzip verstanden hast (ich habe es ja versucht zu erklären)
schau dir also den Code nochmal genau an, vielleicht findest du ja den Fehler selber.
kleiner tipp: es ist nur ein einziges Zeichen, das geändert werden muss.
Gruß Daniel
AW: CountIfs mit zweiter Bedingung
07.12.2021 14:20:54
Martin
Ich habe einfach mal rein intuitiv das größer in ein kleiner-Zeichen geändert und nun funktioniert es wie gewollt. Danke!

167 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige