Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Mitgliederabgleich markiert nur einfach

Forumthread: VBA Mitgliederabgleich markiert nur einfach

VBA Mitgliederabgleich markiert nur einfach
Andy
Hallo,
mit dem folgenden Code möchte ich gerne einen Mitgliederabgleich zwischen einer Torschützenliste und der Mitgliederdaten machen. Die Torschützen befinden sich im Blatt Torschützen in der Spalte D:D und sind alle jeweils in einer Zelle durch Komma getrennt eingetragen; die Mitglieder stehen im Blatt Mitglieder in der Spalte E:E. Die Übereinstimmungen werden im Blatt Torschützenliste Grün markiert.
Der Code läuft soweit, aber er markiert mir die Toschützen in der Zelle nur max. einmal!
Wer kann mir hier weiterhelfen?
Const Trennzeichen As String = ",;:."

Sub Namensabgleich()
Sheets("Torschützen").Select
Columns("D:D").Select
Dim i As Long, j As Byte, c As Range, NameX As String, arrNamen
Dim von As Integer, bis As Integer, k As Byte
For i = 2 To Range("D" & Rows.Count).End(xlUp).Row
Set c = Range("D" & i)
For k = 1 To Len(Trennzeichen)
arrNamen = Split(c, Mid(Trennzeichen, k, 1))
If Not IsEmpty(c) Then
If UBound(arrNamen) > 0 Then
For j = 0 To UBound(arrNamen)
NameX = Trim(arrNamen(j))
If Application.CountIf(Sheets("Mitglieder").Range("E:E"), NameX) > 0 Then
von = InStr(c, NameX)
bis = Len(NameX)
With c.Characters(Start:=von, Length:=bis).Font
'.Bold = True
.ColorIndex = 4
End With
End If
Next j
End If
End If
Next k
Next i
End Sub

Gruß
Andy
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA Mitgliederabgleich markiert nur einfach
18.09.2011 20:23:06
Daniel
Hi
da muss auch nochmal ne Schleife rein :

If Application.CountIf(Sheets("Mitglieder").Range("E:E"), NameX) > 0 Then
von = 0
Do
von = InStr(von+1, c, NameX)
if von = 0 then Exit Do
bis = Len(NameX)
With c.Characters(Start:=von, Length:=bis).Font
'.Bold = True
.ColorIndex = 4
End With
Loop
End If
Gruss, Daniel
Ps:mangels Beispieldatei nicht getestet
Anzeige
Prima
18.09.2011 21:01:17
Andy
Hallo Daniel,
danke für die Codeänderung. Funktioniert soweit.
Mir ist nur gerade aufgefallen, dass die Namen nicht markiert werden, wenn nur ein Name vorhanden ist (sprich es ist kein Trennzeichen vorhanden)
Kannst Du mir hier auch nochmal weiterhelfen?
Gruß
Andy
AW: Prima
18.09.2011 21:15:34
Daniel
HI
eigentlich sollte das auch so funktionieren, wenn nur ein Name drinsteht.
aber mit dieser bedingung:

If UBound(arrNamen) > 0 Then
schließt du diesen Fall ja aus.
also lass einfach diese Bedingung weg.
gruß Daniel
Anzeige
Danke!
18.09.2011 23:12:47
Andy
Danke!
Danke!
18.09.2011 23:13:22
Andy
Danke!
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige