Anzeige
Archiv - Navigation
1448to1452
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

Doppelte Werte in Zellbereich markieren

Doppelte Werte in Zellbereich markieren
25.09.2015 13:52:38
Thomas
Hallo,
ich suche nun schon den ganzen Tag nach einer Lösung für folgendes Problem. Vorweg: eine bedingte Formatierung würde gehen, allerdings ist diese sehr arbeitsaufwendig auf alle Arbeitsblätter zu übertragen.
Hintergrund:
- die Arbeitsmappe besteht aus 52 Arbeitsblättern (pro Kalenderwoche eine)
- die Arbeitsmappe wird von mir programmiert und von zwei Excel-Anwenderinnen benutzt (diese haben kaum Excel Kenntnisse, geschweige denn von Makros)
Problem:
- Im Zellbereich B5 - Y5 sollen doppelte Werte rot markiert werden. Die Markierung soll direkt erfolgen, wenn ein doppelter Wert eingetragen wurde (ähnlich einer bedingten Formatierung). Sobald der doppelte Wert weg ist, muss die alte Formatierung her. Das Makro soll nach jeder Änderung in diesem Bereich automatisch starten.
- das gleiche Makro will ich dann anwenden auf die Zellbereichen B7-Y7 , B9-Y9 , B11-Y11 , ...alle ungeraden Zahlen... , bis B87-Y87.
- dann sollen dieses Makro auf den anderen Arbeitsblättern ebenfalls angewandt werden.
Das ganze würde mit einer bedingten Formatierung gehen. Diese müsste ich dann allerdings händisch zunächst auf jeden Zellbereich übertragen und dann noch in allen Arbeitsblättern anlegen. Dazu kommt das Problem, dass meine Anwenderinnen einfach Inhalte hin und her kopieren und dabei auch Formatierungen kopieren. Daher sind die bedingten Formatierungen sehr schnell alle durcheinander – dies ist aktuell der Fall. Das Format der Arbeitsmappe bzw. der Zellen kann ich nicht schützen, da die Damen Formatierungen (wie Zellfarben, Rahmen u.ä.) ändern dürfen.
Ich hoffe ich habe das Problem adäquat erläutert. Ich suche also nach einem VBA Script.
Bin gespannt auf Eure Rückmeldungen, in den Foren habe ich bisher dahingehend nichts passendes gefunden.
Besten Dank
Thomas

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Doppelte Werte in Zellbereich markieren
25.09.2015 15:51:16
EtoPHG
Hallo Thomas,
Diesen Code in DieseArbeitsmappe
Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim rngCheck As Range, rRow As Range, rC As Range, rC2 As Range
Set rngCheck = Intersect(Sh.Range("B5:Y87"), Target)
If Not rngCheck Is Nothing Then
For Each rC In rngCheck
If rC.Row Mod 2 = 1 Then
Set rRow = Sh.Range(Sh.Cells(rC.Row, 2), _
Sh.Cells(rC.Row, 25))
For Each rC2 In rRow
If Not IsEmpty(rC2) And _
WorksheetFunction.CountIf(rRow, rC2) > 1 Then
rC2.Interior.ColorIndex = 3
Else
If rC2.Interior.ColorIndex = 3 Then _
rC2.Interior.ColorIndex = xlNone
End If
Next rC2
End If
Next rC
End If
End Sub
Gruess Hansueli

Anzeige
AW: Doppelte Werte in Zellbereich markieren
30.09.2015 13:34:59
Thomas
Hallo Hansueli,
wow! Besten Dank! Dieses Skript spart mir mit Sicherheit 8 Stunden stupide bedingte Formatierungen zu programmieren! Vielen Dank!
Ich habe noch ein kleines Anliegen bzw. einen Änderungswunsch:
Ich wende das Skript in zwei Arbeitsmappen an. Ich möchte jedoch die Tabellenblätter einschränken in den Arbeitsmappen, auf denen es angewandt wird. Als konkretes Beispiel:
Die Arbeitsmappe 1 hat Tabellenblättern mit den Namen: "33", "34", ... "53", "Stundensummen", "Gesamtdeputat"
Ich möchte das Skript nur auf die Tabellenblätter 33 - 53 anwenden. Die anderen Blätter sollen nicht betroffen sein.
In der Arbeitsmappe 2 gibt es die Tabellenblätter: "1", "2", "3", ... "32", "Stundensummen", "Gesamtdeputat". Dort gilt das gleiche.
Was muss ich also ändern im Skript?
Beste Dank für die tolle Hilfe!
Thomas
Anzeige

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige