MS-Office-Forum
Google
   

Zurück   MS-Office-Forum > Microsoft Office > Microsoft Excel
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads Der Renner, 11 Entwicklertools für Access, Tipps & Trick und offene Datenbanken zum einzigartigen Preis.
Themen-Optionen Ansicht
Alt 12.01.2018, 12:50   #1
Fritzy
Neuer Benutzer
Neuer Benutzer
Traurig VBA - Bedingte Formatierung mittels Checkboxen

Hallo zusammen,

ich habe eine Reihe von Checkboxen und möchte, sobald bestimmte Checkboxen aktiviert sind, die Farbe einer Zelle ändern. (Ampelfarben - rot, grün, gelb)

Ich vermute dies läßt sich in etwa über

Zitat:

Private Sub Worksheet_Change(ByVal Target As Range)
If ...Checkbox1 = active and Checkbox2 = active
Then ...

End If

End Sub

lösen. Weiß hier jemand eine Lösung?

Viele Grüße - Fritzy
Fritzy ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.01.2018, 13:55   #2
R J
MOF Meister
MOF Meister
Standard

...Hi Fritzy,

wann welche Farbe erscheinen soll, weißt Du ja selbst. Auch welche Zellen es betrifft. Aber die Zellfarbe kannst Du so ändern;

Cells(1,1).Interior.Color = RGB(255,0,0) 'rot
Cells(1,1).Interior.Color = RGB(255,255,0) 'gelb
Cells(1,1).Interior.Color = RGB(0,255,0) 'grün

ersatzweise gingen auch die Konstanten vbRed, vbYellow und vbGreen

zurücksetzen mit = xlNone

__________________

Ciao, Ralf

Kommt mir irgendwie bekannt vor...
Auf, zum Markplatz der Ideen!
Der sicherste Ansatz für einen Irrtum ist der Glaube, alles im Griff zu haben.
Nur, weil ich den Recorder bedienen kann, macht mich das noch lange nicht zum Musiker.



Geändert von R J (12.01.2018 um 14:01 Uhr).
R J ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 12.01.2018, 14:10   #3
Hasso
MOF Meister
MOF Meister
Standard

Hallo Fritzy,

ich würde das im Code des Tabellenblatts, auf dem sich die Checkboxen befinden, so lösen:
Code:

Option Explicit

Private Sub CheckBox1_Change()

If CheckBox1.Value = True Then
  Range("A1").Interior.Color = vbRed
  CheckBox2.Value = False
End If
End Sub
-------------------------------------------------------------------------
Private Sub CheckBox2_Change()

If CheckBox2.Value = True Then
  Range("A1").Interior.Color = vbGreen
  CheckBox1.Value = False
End If
End Sub
Angehängte Dateien
Dateityp: xlsm Checkboxen.xlsm (21,5 KB, 5x aufgerufen)

__________________

Gruß Hasso

Programmers don't die, they just GOSUB without RETURN

System Windows 7 Enterprise 64, Office 2013
Wenn dir mein Beitrag gefallen hat, kannst du ihn bewerten (mit dem Symbol links unten)
Hasso ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.01.2018, 13:21   #4
Fritzy
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Vielen Dank für die Hinweise und Vorschläge.

Allerdings funktioniert es bisher leider noch nicht. Anscheinend spreche ich die Zellen nicht richtig an über Checkbox1 = Active . Es soll erst eine grüne Farbe oder grünes Zeichen erscheinen sobald eine Reihe von Checkboxen aktiviert sind. (Das können sehr viele sein)

Zitat:

Private Sub Worksheet_Change(ByVal Target As Range)
If CheckBox1 = Active And CheckBox2 = Active And CheckBox3 = Active And CheckBox4 = Active Then Cells(1, 1).Interior.Color = RGB(0, 255, 0) 'grün
End If
End Sub

Angehängte Dateien
Dateityp: xlsm Mappe1.xlsm (23,5 KB, 3x aufgerufen)
Fritzy ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.01.2018, 13:27   #5
Doktor.Mabuse
Neuer Benutzer
Neuer Benutzer
Standard

Hallo zusammen,

geht das dann auch, daß man in entsprechender Zelle Berechnungen durchführt, wenn entsprechende Häckchen gesetzt sind ?

Schönen Gruß
Peter
Doktor.Mabuse ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.01.2018, 13:29   #6
Hajo_Zi
MOF Guru
MOF Guru
Standard

Der Name einer hochgeladenen Mappe wird im Beitrag automatisch angezeigt, sodass es bei Verwendung von aussagekräftigen Namen leichter fällt, sie später im Ablageordner wiederzufinden und sie gedanklich einem bestimmten Thema zuzuordnen. Namen wie Muster*, Test*, Mappe*, Beispiel*, Fehler*, Kalender*, UserForm* usw. sind so allgemein, dass eine Zuordnung zu einem Thema unmöglich gemacht wird.
Es sollte ein aussagekräftiger Name sein.

Durch eine Checkbox wird nicht das Change Ereignis ausgelöst. Es sei Du schreibst beim Checkbox Code was in eine Zelle.

GrußformelHomepage

__________________

Signatur in jedem Beitrag
m Forum kann der Beitrag als erledigt markiert werden. Also mache es unten links mit Klick auf den Schalter "als erledigt setzen", falls Problem gelöst.
Der Zustand des Beitrages wird dann in der Übersicht angezeigt und man braucht sich diese Beiträge nicht mehr ansehen.
Bitte Version angeben. Bei keiner Angabe gehe ich von meinen Angaben aus.
Betriebssystem: Windows 10 - 64 Bit, Office 2016 - 32 Bit.
Hajo_Zi ist gerade online  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.01.2018, 13:48   #7
Hasso
MOF Meister
MOF Meister
Standard

Hallo Fritzy,

das kann auch nicht funktionieren. Es heißt nicht
Code:

Private Sub Worksheet_Change(ByVal Target As Range)
If CheckBox1 = Active And CheckBox2 = Active And CheckBox3 = Active And CheckBox4 = Active Then Cells(1, 1).Interior.Color = RGB(0, 255, 0) 'grün
End If
End Sub
sondern
Code:

Private Sub Worksheet_Change(ByVal Target As Range)
If CheckBox1 = True And CheckBox2 = True And CheckBox3 = True And CheckBox4 = True Then
  Cells(1, 1).Interior.Color = RGB(0, 255, 0)   'grün
End If

End Sub
Das hatte ich übrigens in meinem letzten Beitrag auch schon korrigiert...

__________________

Gruß Hasso

Programmers don't die, they just GOSUB without RETURN

System Windows 7 Enterprise 64, Office 2013
Wenn dir mein Beitrag gefallen hat, kannst du ihn bewerten (mit dem Symbol links unten)
Hasso ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.01.2018, 14:19   #8
Fritzy
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

@Doktor.Mabuse: Berechnungen sind einfach möglich. Die Frage hat mich auch auf eine Idee gebracht.

Habe die Checkboxen dadurch mit der üblichen "bedingte Formatierung"-Funktion von Excel verknüpft. Allerdings weiß ich gerade nicht, warum er nach dem deaktivieren weiter hochzählt. Die Beispielexcel habe ich jetzt auch hoffentlich ordentlich benannt.

Zitat:

Private Sub CheckBox1_Click()
ActiveCell.Select
With Range("A1")
If CheckBox1.Value = True Then
.Value = 1
Else
.Value = ""
End If
End With
End Sub

Private Sub CheckBox2_Click()
If CheckBox1 = True Then
Range("A1") = Range("A1") + 1
Else
Range("A1") = Range("A1")
End If
End Sub


Private Sub CheckBox3_Click()
If CheckBox1 = True Then
Range("A1") = Range("A1") + 1
Else
Range("A1") = Range("A1")
End If
End Sub

Private Sub CheckBox4_Click()
If CheckBox1 = True Then
Range("A1") = Range("A1") + 1
Else
Range("A1") = Range("A1")
End If
End Sub

Angehängte Dateien
Dateityp: xlsm BedingteFormatierungMehrereCheckboxen.xlsm (26,8 KB, 1x aufgerufen)
Fritzy ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.01.2018, 16:13   #9
Doktor.Mabuse
Neuer Benutzer
Neuer Benutzer
Standard

Das meinte ich ja. Ob es möglich wäre, im Code die Formel zu schreiben und wenn dann die Checkbox aktiviert ist, daß dann in entsprechender Zelle das Ergebnis steht.
Beispielsweise ist Checkbox 1 aktiviert, dann soll z.B. das Ergebnis aus "2 x 3" in der Zelle stehen, und wenn Checkbox 2 aktiviert ist, daß dann z.B. das Ergebnis von "3 x 4" .
Weil so wie es jetzt in Deiner Datei ist, wird ja immer nur ein dazu gezählt.

Müßte doch eigentlich auch gehen, oder ??

Schönen Gruß
Peter

Geändert von Doktor.Mabuse (14.01.2018 um 16:15 Uhr).
Doktor.Mabuse ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 15.01.2018, 07:57   #10
Fritzy
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Ja- es ist möglich, jede beliebige Formel hier zu verwenden. (x+1 ist hier nur ein einfaches Beispiel)
Fritzy ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:45 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2010 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günther Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.
Beachten Sie bitte auch unsere Nutzungsbedingungen.