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

BedingteFormatierung per VBA

Forumthread: BedingteFormatierung per VBA

BedingteFormatierung per VBA
06.07.2024 12:43:55
ExcelAnfängerchen1977
Hallo.

Ich habe eine ziemlich große Tabelle in meinem Tabellenblatt "Plan". Ich möchte gern für bestimmte Zeilen für die Spalten D bis FR eine bedingte Formatierung einfügen, "rot schraffierter Hintergrund" bei Doppelt vorkommenden Einträgen in der jeweiligen Ziel.

Also z.B. die Zeile 9 für den Bereich $D$9:$FR$9, dass diese Zeile bedingt formatiert wird für Duplikate mit roter Schraffur.

Ich habe uneleganterweise in der Spalte FT den Bezug geschrieben, auf den eine jeweilige bedingte Formatierung gelten soll - immer in den Zeilen, in denen eben eine bedingte Formatierung eingefügt werden soll.

Meine naive Idee war, dass meine SUB in die Spalte FT geht, und für die Zeilen 7 bis 106 durchschaut und wenn etwas in der Spalte FT steht, soll er die bedingte Formatierung in dem in der jeeweiligen Zelle stehenden Bereich einfügen, und zwar die Schraffurin rot für Duplikate in der Ziele.

Also z.B. Zelle FT9 beinhaltet "$D$9:$FR$9", dann bitte in $D$9:$FR$9 die bedingte Foramtierung für Duplikate einfügen. ider nächsten Zeile steht da nix, also keine Bedingte Formatierung...
Ich vermute, es ist elleganter, wenn man stattdessen einfach eine 1 in die Spalte schreibt und dann in der SUB den Bereich "diese Zeile von D bis FR" erstellt. Will sagen, ich bin grundsätzlich offen, wie man das clever löst. Ggf. ist es aber so, dass ich doch im Verlauf der Tabellenbearbeitung doch festelle, dass ggf. der Bereich in einigen Zeilen etwas anders ist - also nicht bis Spalte FR geht... Sprich, sofern es geht und man den Bezugstext aus Spalte FT nehmen kann, dann ist es zwar unelegant aber vielleicht doch zielführender :-)


Ich habe versucht, mit Makroaufzeichnung das selbst hinzubekommen - aber ich bin ein absoluter Programmierungsnichtkönner :-) und habs nicht hinbekommen.
Ich hoffe, ich konnte es sprachlich hier verständlich abbilden - und in der Testdatei erklären... Wenn nicht, keine Absicht!!!!

Link zur Testdatei:
https://www.herber.de/bbs/user/170733.xlsx

Ich würde mich mega freuen, wenn jemand mir helfen könnte...

Ach - und noch die Frage an der Stelle - sofern das auch jemand sagen kann... Ich hab händisch die Bedingte Formatierung so eingefügt und versucht zu kopieren von einer Zeile in die nächste... Aber ich habe dann bei der Prüfung gesehen, dass die Bedingte Formatierung teilweise den Bereich neu gesetzt hat - also aus dem Bereich Spalte D bis FR in einer Zeile einzelne kleinere Bereiche gemacht hat. Ich habe nicht verstanden wann/wodurch das passiert - ich habe aber eigentlich sauber gearbeitet - und immer den richtigen ganzen Bereich angeklickt...glaub ich zumindest und kam auch wiederholt vor... Kann das jemand erklären?

LG

Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: BedingteFormatierung per VBA
06.07.2024 13:06:23
ExcelAnfängerchen1977
Das war so mein zusammengebautes gedachtes...aber nicht funktionierendes... :-) :


Sub bedingte_Formatierung_Plan()

Dim ZeilenindexPlan As Long
Dim ZeilenRange As Range

For ZeilenindexPlan = 7 To 105

If Cells(ZeilenindexPlan, 176).Value = "" Then 'dann soll er nix machen

Else
ZeilenRange = Cells(ZeilenindexPlan, 176).Value

'hieran scheitere ich - weil ich ja auslesen will den Bereich - aber ich vermute dass der Zelleninhalt kein typ range ist.. oder ich bin halt zu sehr anfäger ;-)
' folgendes hab ich aus dem händischen Makro kopiert und modifiziert - aber ich versteh es nciht richtig... also hier soll er bedingt duplikate formatieren...:

'Selection.FormatConditions(1).StopIfTrue = False
Range(ZeilenRange).Select
'Range("FR9").Activate
Selection.FormatConditions.AddUniqueValues
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
Selection.FormatConditions(1).DupeUnique = xlDuplicate
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 10066431
.TintAndShade = 0

End With

End If

Next

End Sub
Anzeige
AW: BedingteFormatierung per VBA
06.07.2024 14:52:33
GerdL
Hallo,
ungetestet.
Sub Unit()


Dim X As Range
Set X = Columns("FT").SpecialCells(xlCellTypeFormulas)

With Intersect(X.EntireRow, Range("L:FR")).Cells
.FormatConditions.AddUniqueValues
.FormatConditions(.FormatConditions.Count).SetFirstPriority
.FormatConditions(1).DupeUnique = xlDuplicate
With .FormatConditions(1).Interior
.Pattern = xlGrid
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
End With
.FormatConditions(1).StopIfTrue = False
End With

End Sub

Gruß Gerd
Anzeige
AW: BedingteFormatierung per VBA
06.07.2024 17:45:32
ExcelAnfängerchen1977
Hallo - erst mal herzlichen Dank für die Hilfe -

es hat geklappt und es ist so, wie ich es gern haben wollte.

Super!!!! Danke!!!

AW: BedingteFormatierung per VBA
06.07.2024 18:07:21
Onur
Trotzdem möchte ich wetten, dass es auch ganz ohne VBA ginge. :)
AW: BedingteFormatierung per VBA
06.07.2024 13:24:53
Onur
Statt zu erklären, was alles du unternommen hast, um dein Ziel zu erreichen, solltest du dein ZIEL erläutern: WAS genau soll WANN genau gefärbt werden?
Und warum glaubst du, dass du dafür VBA brauchst ?
Anzeige
AW: BedingteFormatierung per VBA
06.07.2024 14:10:04
ExcelAnfängerchen1977
Das hatte ich versucht in dem ersten Post hier - wo auch die Datei drin ist... der zweite ist nur mein Versuch dazu.

Warum ich das mit VBA versuche, naja - ich habe es händisch oft versucht und bin gescheitert bzw. es ergaben sich Probleme während der Nutzung - vgl. erster Post - und ich würde gern mit einem Makro die Formatierung auf Knopfdruck erneuern, da es in der Tabelle durch Kopieren und Eintragen auch zu Eingabefehlern kommt / Verschiebungen bei der bedingten Formatierungsbereichen - deshalb möchte ich das quasi jederzeit reseten können.
Anzeige
AW: BedingteFormatierung per VBA
06.07.2024 14:13:43
Onur
Aber das hier ist NICHT der erste Post und ich werden ihn jetzt nicht suchen.
Poste einfach mal den Link zum ersten Post.
AW: BedingteFormatierung per VBA
06.07.2024 14:16:37
ExcelAnfängerchen1977
Das war auch nicht meine Absicht - ich bin etwas irritert - bei mir erscheint der Thread sortiert chronologisch vom ersten bis letzten Beitrag ?!?

geht das damit vielleicht:
https://www.herber.de/cgi-bin/eachthread.pl?idx=1983919
Anzeige
AW: BedingteFormatierung per VBA
06.07.2024 14:27:01
Onur
Ach so! Mit " in dem ersten Post hier " war der erste Eintrag" gemeint. Ich dachrte, du hättest voe einigen Tagen schon mal was gepostet...
Wie dem auch sei - was ich meinte war: Du versuchst da eine bedingte Formatierung über VBA zu konstruiren, weil du dir nicht anders zu helfen weisst.
Ich jedoch glaube, dass es ohne VBA geht. Dafür muss ich halt wissen: WAS genau soll WANN genau gefärbt werden? Was ist dein Ziel?
Und bitte in eigenen Worten und nicht mit Excel- oder VBA-Ausdrücken.
z.B.: "Ich will dass das und das gefärbt wird, wenn das und das da und da steht".
Das mit Spalte FT ist doch bestimmt nur eine Hilfsspalte von dir, da du dir nicht anders zu helfen wusstest.
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

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