Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1140to1144
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

Bedingte Formatierung mittels VBA

Bedingte Formatierung mittels VBA
Josef
Hallo!
Ist bitte der Eintrag einer bedingten Formatierung mittels VBA auch möglich?
Formel ist "=ODER(ZÄHLENWENN(I2;"*kontrast*");ZÄHLENWENN(I2;"*Röntgen*"))
Farbe wäre grau.
Danke
Josef

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Geht,... aber wozu?
01.03.2010 14:02:41
Ramses
Hallo
Die bedingte Formatierung hast du doch schon.
Wenn du es er VBA haben willst,... zeichne die ganze Zuweisung der Formatierung mit dem Makrorekorder auf.
Gruss Rainer
AW: Geht,... aber wozu?
01.03.2010 14:08:20
Josef
Hallo Ramses!
Danke für Deine Antwort.
aber wozu?
Da ich mehrere verschiedene Abfragen mit unterschiedlichen Texten habe, wollte ich mir das händische korrigieren ersparen. Habe gerade das Makro aufgezeichnet:
Selection.FormatConditions.Delete
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=ODER(ZÄHLENWENN(I2;""*kontrast*"");ZÄHLENWENN(I2;""*Röntgen*""))
Selection.FormatConditions(1).Interior.ColorIndex = 15
Danke für Deine Hilfe
Josef
Anzeige
AW: Geht,... aber wozu?
01.03.2010 14:11:48
welga
Hallo,
versuch es mal so:
Sub bedformatierung()
With Cells(2, 9).Interior
If Cells(2, 9) = "*kontrast*" Or Cells(2, 9) = "*Röntgen*" Then
.ColorIndex = 48
.Pattern = xlSolid
Else
.ColorIndex = xlNone
End If
End With
End Sub
Gruß
welga
AW: Geht,... aber wozu?
01.03.2010 14:51:50
Josef
Hallo Welga!
Danke für Deine Antwort.
Ich wollte es so probieren:
Sub BedingtesFormat()
Dim Name
Dim Name1
Dim Name2
Dim wks As Worksheet
Dim wks1 As Worksheet
Dim Bereich As Range
Set wks = Workbooks("Masterprog.xla").Worksheets("Tabelle1")
Set wks1 = Workbooks("Masterfile.xls").Worksheets("Tabelle1")
Set Bereich = Range("I2", Cells(Rows.Count, 2).End(xlUp))
Name = wks.Range("BE1")
Name1 = wks.Range("BF1")
Name2 = wks.Range("BG1")
With wks1
Bereich.FormatConditions.Delete
Bereich.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=ODER(ZÄHLENWENN(I2;Name);ZÄHLENWENN(I2;""*Name1*"");ZÄHLENWENN(I2;""*Name2*""))"
Bereich.FormatConditions(1).Interior.ColorIndex = 15
End With
End Sub
Leider klappt es mit der Deklaration nicht (Name)
Josef
Anzeige
AW: Geht,... aber wozu?
01.03.2010 14:57:28
Reinhard
Hallo Josef,
vermeide Bezeichnungen die Vba auch kennt, wie z.B. Name.
Set bereich = Range("I2", Cells(Rows.Count, 2).End(xlUp))
ergibt den Bereich B1:I2, ist das so gewünscht?
Gruß
Reinhard
AW: Geht,... aber wozu?
01.03.2010 19:28:40
welga
dann versuche es doch so:
Ist nicht so kompliziert wie deins und vermeidet auch die namensdeklaration.
Sub bedformatierung()
With Range("I2", Cells(Rows.Count, 2).End(xlUp)).Interior
If Cells(2, 9) = "*kontrast*" Or Cells(2, 9) = "*Röntgen*" Then
.ColorIndex = 15
.Pattern = xlSolid
Else
.ColorIndex = xlNone
End If
End With
End Sub
Gruß
welga
Anzeige
AW: Geht,... aber wozu?
01.03.2010 21:52:43
Josef
Hallo welga! Hallo Reinhard!
Danke für Eure Antworten!
Meine Zielsetzung war, die gesuchten Werte über die Namensdeklarationen in die Formel einzubinden.
Also wenn Tabelle1!Be1 den Wert kontrast hätte sollte über die Deklaration Name der Wert in der dementsprechenden Zelle in die Formel eingebunden werden.
Josef
Lösung gefunden
02.03.2010 07:12:01
Josef
Hallo!
Meine Lösung! Funktioniert sogar
Sub BedingtesFormat_3()
Dim wx
Dim xy
Dim yz
Dim wks As Worksheet
Dim wks1 As Worksheet
Dim bereich As Range
Set wks = Workbooks("Masterprog.xla").Worksheets("Tabelle1")
Set wks1 = Workbooks("Masterfile.xls").Worksheets("Tabelle1")
'Set bereich = Range("I2", Cells(Rows.Count, 2).End(xlUp))
Set bereich = ActiveSheet.Range("I2:I" & ActiveSheet.Range("A65536").End(xlUp).Row)
wx = wks.Range("BE1")
xy = wks.Range("BF1")
yz = wks.Range("BG1")
With wks1
bereich.FormatConditions.Delete
bereich.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=ODER(ZÄHLENWENN(I2;""*" & wx & "*"");ZÄHLENWENN(I2;""*" & xy & "*"");ZÄHLENWENN(I2;""* _
" & yz & "*""))"
bereich.FormatConditions(1).Interior.ColorIndex = 15
End With
End Sub

Danke nochmals für Eure Hilfe.
Schönen Tag noch
Josef
Anzeige

327 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige