Suchen nach gleichen Werten in Spalten

25/02/2008 - 21:02 von Martina | Report spam
Hallo liebe Gemeinde,

habe folgendes Makro, das mir im Arbeitsblatt doppelte oder mehrfache
gleiche Eintràge rot markiert:

Private Sub Worksheet_Change(ByVal Target As Range)
If WorksheetFunction.CountIf _
(Me.UsedRange, Target.Value) > 1 Then
Target.Font.ColorIndex = 3
else Target.Font.Colorindex= xlAutomatic
End If
End Sub

Frage1: Wie kriege ich es hin, dass bestimmte Spalten durchsucht werden, und
nicht der gesamte Bereich, also z.B. Range (A:A), Range (C:C) usw.

Frage2: Wie kann ich dieses Makro umschreiben, damit es in der ganzen
Arbeitsmappe, und nicht nur im Arbeitsblatt sucht. Habe schon probiert
"Worksheet.Change" durch "Workbook.Change" zu ersetzen, aber das wàre ja auch
zu simpel gewesen.

Danke im Voraus und Grüße
Martina
 

Lesen sie die antworten

#1 Peter Schleif
26/02/2008 - 09:01 | Warnen spam
Martina schrieb:

Frage1: Wie kriege ich es hin, dass bestimmte Spalten durchsucht werden, und
nicht der gesamte Bereich, also z.B. Range (A:A), Range (C:C) usw.



Ersetzte Me.UsedRange durch Columns(1), Columns(3), usw.


Frage2: Wie kann ich dieses Makro umschreiben, damit es in der ganzen
Arbeitsmappe, und nicht nur im Arbeitsblatt sucht.



Grunsàtzlich kannst Du alle Arbeitsblàtter in einer Schleife
durchlaufen. Etwa so:

Dim wsh As Variant

For Each wsh In Sheets
MsgBox wsh.Name
Next

Ich frage mich allerdings, was Du innerhalb deines Makros davon hast?!

Du ànderst ja ohnehin nur Target.Font - also die Schriftfarbe der
gerade geànderten Zelle. Andere Zellen, die den gleichen Wert haben,
werden *nicht* rückwirkend geàndert. Und erst recht keine Zellen auf
anderen Blàttern.

Falls Du erreichen möchtest, dass alle Zellen einer Mehrfachgruppe
geàndert werden, musst Du auch alle Zellen ansprechen - nicht nur Target.

Peter

Ähnliche fragen