Anzeige
Archiv - Navigation
1028to1032
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
VBA Bedingte Formatierung
09.12.2008 22:32:36
Peter
Hallo,
möchte gern das Abhängig von A1 in der ein "w" oder ein "m" steht, das A2:Z22 alles entweder rosa (w)
oder hell bLau (m) ist.
Habt Ihr eine Idee?
Beim Druck soll nachher alles wieder schwarz weiß sein.
Gruß Peter

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: fuer die Farbe
09.12.2008 22:48:00
hary
hallo peter
hier mal ein Makro fuer die Farbe

Sub Farbe()
If Cells(1, 1) = "w" Then
Range("A2:Z22").Interior.ColorIndex = 26
ElseIf Cells(1, 1) = "m" Then
Range("A2:Z22").Interior.ColorIndex = 28
End If
End Sub


Gruss hary

Das ist eine Möglichkeit, die diese Bereiche...
10.12.2008 00:50:54
Luc:-?
...permanent färbt, Peter (& Hary)!
Wenn diese Bereiche beim Druck farblos sein sollen, gibt es 2 Möglichkeiten...
1. Analog Hary mit VBA:
Hierbei kommt man aber wg der Druckbedingung nicht um eine Ereignisprozedur herum. In der Standard-Ep Worksheet_BeforePrint kann diese Färbung mit den vorgesehenen negativen Werten (-40.., -41..) bzw zugehörigen Globalkonstanten (bei ColorIndex in vbEditor-Hilfe nachschlagen) wieder rückgängig gemacht wdn. Dann müsste allerdings auch die Einfärbung mit einer anderen Ep automatisiert wdn. Hier bietet sich Worksheet_Activate an.
Anmerkung: Ep stehen standardmäßig im (vorbereiteten) Klassenmodul des Dokuments (des Blattes, quasi seine "Rückseite"), während für eine "gewöhnliche", explizit aufzurufende Subprozedur wie die von Hary ein Standardmodul angelegt wdn muss.
2. Mit bedingter Formatierung ohne VBA (alternativ, falls du mit Ep nicht klarkommst)
Hier musst du eine Zelle wählen (im folgd Bsp B1), in die du ein Kennzeichen einträgst bevor du drucken willst oder besser, wenn die Farben gezeigt wdn sollen (hier: x) - das dann vor dem Druck entfernt wdn muss (in dieser Variante im Folgenden verwendet).
Bereich A2:Z22 markieren → Menü Format - bedingte Formatierung aufrufen → Formel Ist wählen → =$A$1&$B$1="mx" eintragen → Format-Button klicken letzten Reiter wählen und Farbe auswählen → OK ⇒ 2.Bedingung hinzufügen und analog ausfüllen (...="wx" und andere Format-Farbe) ⇒ OK
Anmerkung: Du könntest natürlich auch auf B1 verzichten, wenn du vor dem Druck bspw "m" durch "mp" bzw "w" durch "wp" ersetzt und dann in der bedingten Formatierung natürlich nur $A$1 auf "m" bzw "w" vglst.
Gruß Luc :-?
Anzeige
AW: Das ist eine Möglichkeit, die diese Bereiche...
10.12.2008 16:49:00
Peter
Hallo hary u. Luc,
vielen Dank für Eure schnelle Antwort.
Makro kommt nicht in Frage, da ich sagen wir mal ein Formular mit einem Kombifeld und dem entsprechend Sverweis nutze. Das Makro müßte ja aufgerufen werden. Von daher nicht so praktikabel.
Das "w" und das "m" ändern sich ja durch das Kombifeld (immoment habe ich es aus FORMULAR genommen.
Es würde auch aus dem Steuerelement gehen.
Eine VBA Lösung wäre nicht schlecht, sie müßte nur auslösen, sobald sich in A1 was tut.
Gruß Peter
AW: Das ist eine Möglichkeit, die diese Bereiche...
10.12.2008 18:18:51
hary
Hallo Peter
Dann mach es doch von der Cbo Box abhaengig. Haste ja vorher nix von gesagt. Jetzt wird bei der Auswahl in der Cbo Box dementsprechend eingefaerbt.

Private Sub ComboBox1_Change() ' Namen der Cbo anpassen
If ComboBox1.Value = "m" Then
Range("A2:Z22").Interior.ColorIndex = 8
ElseIf ComboBox1.Value = "w" Then
Range("A2:Z22").Interior.ColorIndex = 7
End If
End Sub


Gruss Hary

Anzeige
AW: Das ist eine Möglichkeit, die diese Bereiche...
10.12.2008 19:15:51
Peter
Hallo Hary
Danke für deine Antwort.
Habe mal eine Beispieltabelle hochgeladen.
Würde mich freuen, wenn Du mal reinschaust.
Gruß Peter
https://www.herber.de/bbs/user/57527.xls
AW: Nu gehts
10.12.2008 21:41:33
Peter
Hallo hary,
toll, dass Du Dich nochmal gemeldet hast.
Leider geht sie nicht immer, nachmehrmaligen probieren springt die Farbe nicht um.
Erhalte aber keine Fehlermeldung.
Gruß Peter
https://www.herber.de/bbs/user/57532.xls
Anzeige
AW: Nu gehts wirklich, und vorher auch.
10.12.2008 22:21:07
Peter
Hallo
Hary vielen Dank nochmal.
Gruß peter
AW: Ha Ha smile!
10.12.2008 22:29:14
hary
Hallo Peter
Du hast den Code umgebaut! aber nur zur haelfte!!!!!!
das hast Du vergessen
ElseIf Cells(4, 1).Value = "w" Then
Gruss Hary
AW: danke fuer die Rueckmeldung owt
10.12.2008 22:33:00
hary
.
Klappt nicht.
11.12.2008 16:42:55
Peter
Hallo Hary
tut mir Leid, aber es klappt nicht.
Beispiel Ich bin im Tab, wechsel in ein anderes Tab, so bekomme ich die Fehlermeldung Laufzeitfehler1004. Die Selectmethode der Range Objektes konnte nicht ausgeführt werden.
Gruß Peter
AW: Klappt nicht.
11.12.2008 17:03:00
Peter
Ich nochmal

Private Sub ComboBox1_Change()
If Cells(4, 1).Value = "m" Then
Range("A2:Z22").Select
With Selection.Interior
.ColorIndex = 37
End With
ElseIf Cells(4, 1).Value = "w" Then
Range("A2:Z22").Select    
.ColorIndex = 36
End With
End If
Range("r1").Select
End Sub


Die Kursiv zeile ist gelb unterlegt.


Private Sub Worksheet_Activate()
Karte1_Sortieren
End Sub


Sobald ich vor PRIVATE ein Häckchen ( ' ) setze, funktioniert es auch.
Vielleicht hilfs einweig.
Gruß Peter

Anzeige
Gelb im Code heißt normalerweise...
11.12.2008 17:45:45
Luc:-?
...hier bin ich jetzt, Peter.
Wenn's dann nicht weitergeht, müsste auch noch 'ne Fehlermeldung kommen.
Übrigens, das ' ist ein Apostroph bzw "Hochkomma" und kein Häkchen (=kleiner Haken) oder gar "Häckchen" (=kleine Hacke = Gartengerät). Wenn du das - wie du schreibst - vor Private an den Anfang der Codezeile gesetzt hast, sollte eigentlich gar nichts mehr fkt...?!
Dein xlProblem scheint langsam in die Zwischendimensionalität abzugleiten... ;-)
Gruß Luc :-?
AW: Gelb im Code heißt normalerweise...
11.12.2008 18:07:00
Peter
Hallo Luc
wie Recht Du hast, natürlich ein "Hochkomma"
Kam ich beim schreiben leider nicht drauf.
Das Hochkomma hatte ich hier reingemacht.
'

Private Sub Worksheet_Activate()
' Karte1_Sortieren
' End Sub


Trotzdem wäre es schön gewesen, wenn Du mir vielleicht ein Weg, oder eine Lösung gezeigt hättest.
Gruß Peter

Anzeige
Wenn die 1.Codezeile stehen bleibt,...
11.12.2008 18:18:00
Luc:-?
...darf auch die letzte nicht auskommentiert wdn, Peter,
sonst läuft's nicht! Vielleicht sehe ich mir das später alles noch mal an...
Gruß Luc :-?
Um das jetzt mal abzukürzen,...
12.12.2008 12:42:00
Luc:-?
...Peter...
Wo deine Worksheet_Activate-EventProc herkommt und was du damit vorhast...? (Keinerlei Infos im Thread!) Auch scheint das Druckproblem inzwischen untergegangen zu sein...?! Die ursprüngliche Bedingungszelle scheint sich ebenfalls geändert zu haben, nur nicht die im Blatthinweis genannten Forderungen (Aktualisierung wäre hilfreich gewesen!). Die Farben sind unter Standardeinstellung xl9 auch nicht mehr rosa und hellblau - kann aber in xl11 bzw bei eigener FrbAnpass anders sein...
Ansonsten hier mal ein fktd Bsp!
Für Interessenten, die nicht runterladen wollen (lohnt ja auch kaum!) hier die Ereignisprozeduren...
1. in Dokumentklassenmodul "DieseArbeitsmappe":

Option Explicit
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Range("A2:Z22").Interior.ColorIndex = xlNone
Cancel = True                                   'nur für Test - später entfernen!
End Sub


2. in Dokumentklassenmodul "Tabelle1":


Option Explicit
Private Sub ComboBox1_Change()
If Cells(4, 1).Value = "m" Then
Range("A2:Z22").Interior.ColorIndex = 8
ElseIf Cells(4, 1).Value = "w" Then
Range("A2:Z22").Interior.ColorIndex = 3
End If
Range("H23").Select
End Sub


Die Indexfarben sind natürlich nicht garantiert, weil sie von individuellen Einstellungen abhängen. Falls stattdessen direkte Farbwerte (...Color) verwendet wdn, wdn bis xl11 automatisch die numerisch ähnlichsten eingestellten gewählt.
Gruß Luc :-?
PS: Makros verwenden seit xl5 VBA (du schriebst: "...keine Makros", aber würdest auch VBA nehmen...?)! Anscheinend haben wg des Durcheinanders bei einer doch recht simplen Fragestellung die anderen Antworter die Lust verloren... Also mal Stil überdenken → klare Aufgabenstellung mit allen Prämissen, nicht tröpfchenweise - Gesamtvorhaben wenigstens skizzieren!

Anzeige
AW: Um das jetzt mal abzukürzen,...
12.12.2008 13:32:03
Peter
Hallo Luc,
vielen Dank für deine Rückmeldung.
Die Aufgabenstellung war schon klar am Anfang.
Ich wollte nur eine Bereich in Abhängigkeit von A1, entweder Blau oder eben Rot eingefärbt haben.
Das ist auch von Hary hinbekommen worden.
Dann ist aber folgendes passiert, nach aufrufen des Tab, bekam ich eine Fehlermeldung.
Durch das aufrufen des Tabs wurde ein anderes Tab die Namen umsortiert.
Auf diese Namen gabe es eine COMBOBOX im gleichen Tab in dem auch die farben rot u. blau in einem Bereich sein sollten.
Aber es scheint nicht zu gehen.
Mfg: peter
Das geht alles aus dem bisherigen Thread...
12.12.2008 14:01:00
Luc:-?
...nicht hervor, Peter!
Ich sagte ja - Gesamtkonzept verständlich skizzieren, dann kann dir viell geholfen wdn!
Gruß Luc :-?
Anzeige
bedingt OT: Frage am Rande
12.12.2008 17:08:00
Luc:-?
Hat Angela was mit dir zu tun, Peter,
oder hat sie nur abgekupfert?
Merkwürdig... das Sortieren...?!
Gruß Luc :-?

321 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige