Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Bedingte Formatierung Bezug Blatt2

Bedingte Formatierung Bezug Blatt2
16.06.2015 12:37:12
Tanja
Hallo zusammen,
ich möchte in VBA eine bedingte Formatierung über zwei Tabellenblätter erzeugen und weis nicht wie ich den Bezug auf das zweite Tabellenblatt setzen kann. Aus dem zweiten Blatt sollen die Abfragewerte genommen werden.
Aktuell ist die Programmierung für ein Tabellenblatt so:
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
Formula1:="= $D$" & i & ""
'(Eine Matrix wird mit Werten der Spalte D bis Zeile i durchsucht)
Die Werte in D i sollen aus Blatt 2 entnommen werden.
Meine Lösung (funktioniert nicht):
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
Formula1:="= Tabelle2 $D$" & i & ""
Fehlt hier lediglich ein Zeichen ["()_ o.ä]? Oder ist dieser Verweis auf ein anderes Tabellenblatt so nicht möglich?
Vielen Dank für eure Hilfe!
Gruß
Tanja

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Beides! Richtig wäre '= "=Tabelle2!$D$" & i', ...
16.06.2015 13:02:28
Luc:-?
…Tanja,
allerdings erst ab Xl14/2010. In deiner Xl-Version musst du noch - wie in älteren Xl-Versionen - mit benannten Bezügen (definierten Namen) arbeiten.
Gruß, Luc :-?

AW: Bedingte Formatierung Bezug Blatt2
16.06.2015 13:04:22
Rudi
Hallo,
du musst dem Bereich einen Namen geben und dann mit Index arbeiten.
.Formula1="=index(Liste;" & i & ")"
Oder mit Indirekt() arbeiten.
.Formula1="=indirekt(""Tabelle2!D""" &i &")"
Gruß
Rudi

Anzeige
AW: Bedingte Formatierung Bezug Blatt2
19.06.2015 14:06:38
Tanja
Hallo, danke für eure Ideen!
Die indirekt Funktion hat leider nicht funktioniert und mit Bereich-Index durchläuft das Programm zwar den Bereich Zelle für Zelle aber gleicht ihn (glaube ich) nicht mit den Werten der Matrix ab. Die gleichen Werte in der Matrix werden also nicht eingefärbt.
Ich habe mal das gesamte Programm angefügt:
For i = 12 To o
Worksheets("Tabelle2").Activate
Range("D" & i & ":D" & i & "").Select
ActiveWorkbook.Names.Add name:="Liste", RefersToR1C1:="=Tabelle2!R12C4:R" & i & "C4"
Worksheets("Tabelle1").Activate
Range(Cells(18, 6), Cells(m, n)).Select
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, _
Formula1:="=index(Liste;" & i & ")"
Selection.FormatConditions(Selection.FormatConditions.count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 255
.TintAndShade = 0
End With
Next i
Die Definition des Bereiches ist hier über ein Makro eingefügt. Als Alternative habe ich es mit liste als Range-Variable (und Sub liste = worksheets("Tabelle2").range(A1:A10) ) versucht. Allerdings hatte ich auch damit keinen Erfolg.
Hat jemand eine Idee woran das liegen kann oder einen Lösungsvorschlag.
Vielen Dank nochmals!
Gruß
Tanja
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

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