Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
852to856
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
852to856
852to856
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Farbe eines Objektes an Zellenfarbe anpassen

Farbe eines Objektes an Zellenfarbe anpassen
19.03.2007 15:38:00
Benny
Hallo zusammen,
mein Problem. Wenn zum Beispiel die Zelle A1 die Hintergrundfarbe "Grün" hat, soll ein gezeichneter Kreis auf einem beliebigen Arbeitsmappe auch grün werden! Wie kann ich sowas realisieren?
Vielen Dank schonmal!

32
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Farbe eines Objektes an Zellenfarbe anpassen
19.03.2007 15:51:00
Dan
Hi Benny, ein Beispiel:
Public

Sub b()
Dim cell1 As Range
Dim shape1 As shape
Set cell1 = Range("a1")
Set shape1 = ActiveSheet.Shapes(1)
shape1.OLEFormat.Object.Interior.Color = cell1.Interior.Color
End Sub

AW: Farbe eines Objektes an Zellenfarbe anpassen
19.03.2007 15:55:50
Benny
Kann ich das ganze noch irgendwie variabel machen? so mit schleife oder so!? ich habe nämlich ca. 30-35 Zellen die nach Farbe überprüft werden, und dann auch 30-35 kreise die die Farbe ändern sollen!
AW: Farbe eines Objektes an Zellenfarbe anpassen
19.03.2007 16:09:00
Dan
Hmm, z.B koennte man die Namen der Zellen und die Namen der Shapes zusammen fuegen. Z.B. Zelle 1 wird so benannt "Shape1_Color" und dann koennte man in der Schleife alle Shapes durchgehen und anhand vom Namen des jeweligen Shapes die etsprechende Zelle suchen...etwas so:
Public

Sub c()
Dim shp As shape
For Each shp In ActiveSheet.Shapes
shp.OLEFormat.Object.Interior.Color = Range(shp.Name & "_color").Interior.Color
Next shp
End Sub
Also z.B. Zelle 1 hat Name "Circle1_color" und diese Zelle wird den Shape "Circle1" faerben...
Gruss Dan, cz.
Anzeige
AW: Farbe eines Objektes an Zellenfarbe anpassen
19.03.2007 16:15:00
Benny
Ich bekomme hier einen Laufzeitfehler 1004! Die Farbe wird aber prima angepasst!
AW: Farbe eines Objektes an Zellenfarbe anpassen
19.03.2007 16:21:40
Dan
Hmm, koennte es sein, dass z.B nicht alle Shapes eine Color-Zelle definiert haben?
AW: Farbe eines Objektes an Zellenfarbe anpassen
20.03.2007 09:21:16
Benny
Die ganze Sache wird doch schwieriger! also ich versuchs zu erklären. die zelle mit der farbe a1 bleibt gleich. dann habe ich eine ampel logik, sprich drei kreise. der erste soll sich grün färben wenn a1 auch grün ist. der zweite gelb wenn a1 gelb und der dritte rot wenn a1 rot.
springt jetzt zum beispiel a1 von rot auf geld, muss kreis 3 wieder weiss werden und kreis 2 gelb.
so und nu krieg ich das nit gebacken!
Anzeige
AW: Farbe eines Objektes an Zellenfarbe anpassen
20.03.2007 11:39:11
Dan
Hi, ok, hier ein Beispiel. Du brauchst dazu eine Mappe, wo auf einem bestimmten Sheet drei 'Shapes' vorhanden sind. Die Namen der Shapes muessen so lauten : "green_light", "yellow_light", "red_light". In der Sub Main findest Du den Anfang des Codes. Wichtig ist, das die bestimmte Color-lieferende-Zelle muss nur mit einer dieser Farben gefaerbt werden : vbRed, vbYellow, vbGreen. Auf andere Farben reagiert der Code nicht. Hilft es :-)? Gruss Dan, cz.
Option Explicit
Private Const GREEN_LIGHT As String = "green_light"
Private Const YELLOW_LIGHT As String = "yellow_light"
Private Const RED_LIGHT As String = "red_light"
Private m_greenLightShape As Shape
Private m_yellowLightShape As Shape
Private m_redLightShape As Shape
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub SwitchStoplight(ByRef io_stoplightSwitcher As Range)
On Error GoTo Err_SwitchStoplight
If (ResetStoplight(io_stoplightSwitcher) = True) Then
Select Case io_stoplightSwitcher.Interior.Color
Case vbRed
m_redLightShape.OLEFormat.Object.Interior.Color = vbRed
Case vbYellow
m_yellowLightShape.OLEFormat.Object.Interior.Color = vbYellow
Case vbGreen
m_greenLightShape.OLEFormat.Object.Interior.Color = vbGreen
Case Else
MsgBox "Unknown stoplight color : " & io_stoplightSwitcher.Interior.Color, vbExclamation, "Switching stoplight failed"
End Select
Else
End If
Exit Sub
Err_SwitchStoplight:
MsgBox Err.Description, vbCritical, "Error in function SwitchStoplight"
End Sub


Private Function ResetStoplight(ByRef io_stoplightSwitcher As Range) As Boolean
ResetStoplight = False
' nur shapes auf dem selben sheet, wo auch der stoplight-switcher liegt
With io_stoplightSwitcher.Worksheet
On Error Resume Next
Set m_greenLightShape = .Shapes(GREEN_LIGHT)
Set m_yellowLightShape = .Shapes(YELLOW_LIGHT)
Set m_redLightShape = .Shapes(RED_LIGHT)
On Error GoTo Err_ResetStoplight
' alle lights-shapes muessen vorhanden sein
If (m_greenLightShape Is Nothing Or m_yellowLightShape Is Nothing Or m_redLightShape Is Nothing) Then
MsgBox "Stoplight reset function failed. Some stoplight-shape was not found in the collection.", vbCritical, "Stoplight reset failed"
Exit Function
End If
m_greenLightShape.OLEFormat.Object.Interior.Color = vbWhite
m_yellowLightShape.OLEFormat.Object.Interior.Color = vbWhite
m_redLightShape.OLEFormat.Object.Interior.Color = vbWhite
ResetStoplight = True
End With
Exit Function
Err_ResetStoplight:
MsgBox Err.Description, vbCritical, "Error in function ResetStoplight"
End Function
Public Sub Main()
' -- test stoplight switching:
Dim stoplightSwitcher As Range
On Error GoTo Err_Main
Set stoplightSwitcher = ActiveSheet.Range("a1")
stoplightSwitcher.Interior.Color = vbRed
Call SwitchStoplight(stoplightSwitcher)
Call Sleep(3000)
stoplightSwitcher.Interior.Color = vbYellow
Call SwitchStoplight(stoplightSwitcher)
Call Sleep(3000)
stoplightSwitcher.Interior.Color = vbGreen
Call SwitchStoplight(stoplightSwitcher)
Call Sleep(3000)
stoplightSwitcher.Interior.Color = VBA.RGB(158, 168, 137)
Call SwitchStoplight(stoplightSwitcher)
Exit Sub
Err_Main:
MsgBox Err.Description, vbCritical, "Error in function Main"
End Sub

Anzeige
AW: Farbe eines Objektes an Zellenfarbe anpassen
20.03.2007 13:43:00
Benny
Irgendwie klappts nicht! Egal welche Farbe A1 hat ändert sich die Farbe der Zelle und des entsprechenden Kreises erst rot dann gelb dann grün. dann grau und dann bricht er ab!
irgendwie versteh ichs nicht!
AW: Farbe eines Objektes an Zellenfarbe anpassen
20.03.2007 13:59:18
Dan
Hi, ja weil in der Sub Main es so eingestellt ist -- das ist aber nur ein Beispiel, wie man mit dem Code umgehen soll. Wie aenderst Du die Farbe der Zelle? In dem Beispiel wird die Farbe der Zelle im Code eingestlellt. Wie startest Du die SwitchStoplight Procedure? Die Procedure wird nicht von sich selbs gestrtet. Man muss sie irgendwie starten...Gruss Dan, cz.
AW: Farbe eines Objektes an Zellenfarbe anpassen
20.03.2007 14:04:00
Benny
Ich ändere die Farbe händisch in Zelle! Habe eben nur die Main ausgeführt! wie startet man dies dann am besten?
und wie kann ich ggf. die zelle mal auf b1 oder eine andere ändern wenn nötig!?
Anzeige
AW: Farbe eines Objektes an Zellenfarbe anpassen
20.03.2007 14:24:00
Dan
Hi, hier eine Beispiel-Mappe :-). Color-Zelle aender man in der Konstante "STOPLIGHT_SWITCHER_RANGE". Die Konstante befindet sich in dem Klassem Module vom Sheet 1.
https://www.herber.de/bbs/user/41216.xls
AW: Farbe eines Objektes an Zellenfarbe anpassen
20.03.2007 14:26:40
Benny
Du bist ein Held! Es funktioniert! Vielen Dank!
AW: Farbe eines Objektes an Zellenfarbe anpassen
20.03.2007 14:28:00
Dan
Ok, freut mich :-)
AW: Farbe eines Objektes an Zellenfarbe anpassen
20.03.2007 14:58:00
Benny
Noch eine Frage um es 1000 % zu machen! wie mache ich es wenn die zelle sich auf einem anderen blatt befindet wie die shapes?
AW: Farbe eines Objektes an Zellenfarbe anpassen
20.03.2007 15:34:28
Dan
ja und noch etwas : die Color-Zelle muss (so wie es jetzt gamcht ist) auch dem selben Sheet sein, wo die Buttons sind ...
AW: Farbe eines Objektes an Zellenfarbe anpassen
21.03.2007 08:57:01
Benny
Ich denke so wird es klappen! Versuche es jetzt so anzupassen das ich von A1 bis A10 ca. die Farben einstellen kann. Auf den 10 anderen Tabellenblätter hab ich dann die zehn ampeln die sich dann verfärben soll.
Grund ist das ich auf jedem Tabellenblatt ein bestimmtes thema mit ampel anzeigen muss! wie zum beispiel absatz, umsatz, etc.
AW: Farbe eines Objektes an Zellenfarbe anpassen
21.03.2007 09:19:48
Dan
Hi Benny, na ja, es wird fast funzen :-). Hier ein Beispiel, wie man das machen koennte, wenn man das fuer zwei sheets (und zwei stoplights) machen moechte : https://www.herber.de/bbs/user/41250.xls
Man muss immer die neuen buttons zugeben, und auch die click event handlers schreiben...das sieht man in dem Beispiel wo zur Zeit nut zwei sheets sind, aber genauso kann man mehrere haben... Gruss Dan, cz
Anzeige
AW: Farbe eines Objektes an Zellenfarbe anpassen
21.03.2007 09:26:13
Benny
Kann ich die Farben in den Zellen A1 bis A10 ca. händisch ändern und dann alles mit einem Sub ausführen? Ohne click?
AW: Farbe eines Objektes an Zellenfarbe anpassen
21.03.2007 09:28:33
Benny
Kann ich die Farben in den Zellen A1 bis A10 ca. händisch ändern und dann alles mit einem Sub ausführen? Ohne click?
AW: Farbe eines Objektes an Zellenfarbe anpassen
21.03.2007 09:39:00
Dan
Ja es ist moeglich, aber Du musst genau 'Die' Farge haendisch eistellen, die man dann im Code pruefft. Wie kann man dies aber erreichen?
Die buttons ermoeglichen das, weil so kann man die Zelle mit genau 'Die' Farbe faerben. Und weil man weiss, welche Farben man fuer die Zelle benutzt hat, kann man die Farbe der Zelle dann testen. So kann man sagen, OK, die Zelle ist gruen, also den 'Shape_green_light' gruen faerben usw. Die Farbe ist hier eine RGB kombination, also es ist eine Zahl. Und obwohl man haendisch die Zelle gruen faerben kann, wie soll man dann im Code wissen, welchen RGB Wert diese Farbe hat? Und deshalb sind die Buttons da :-). Dan
Anzeige
AW: Farbe eines Objektes an Zellenfarbe anpassen
21.03.2007 09:53:00
Benny
Die Farben die du verwendest sind genau in dieser Farbnummer aus den Standard Farben wählbar. Und wenn man diesen Farben händisch auswählt, sollte es ja auch funktionieren, da sie dann übereinstimmen!
AW: Farbe eines Objektes an Zellenfarbe anpassen
21.03.2007 10:52:00
Dan
Ja, das stimmt, dann wird es funzen. Man darf sich aber nicht verweahlen :-)
AW: Farbe eines Objektes an Zellenfarbe anpassen
21.03.2007 10:55:29
Benny
Genau! :-) Jetzt brauch ich doch nur die click() anweisungen in ein Sub schreiben, oder?
AW: Farbe eines Objektes an Zellenfarbe anpassen
21.03.2007 11:09:00
Dan
Ja, also ohne den buttons koennte es z.B so sein : https://www.herber.de/bbs/user/41252.xls
Also:
- man schreibt den Sheet-Namen gleich neben der Color-Zell
- man aendert haendisch die Farbe
- man aendert die aktive Zelle nicht, so dass die aktive Zelle ist die Color-Zelle
- man startet die Prozedure 'Main'
Anzeige
AW: Farbe eines Objektes an Zellenfarbe anpassen
21.03.2007 12:01:57
Benny
Jetzt kopier ich das alles in meine richtige datei und jetzt gibt er mir einen fehler in resetstoplight function "Die Coloreigenschaft des Interior Objekts kann nicht festegelegt werden!
Was´n nu? gleich Farben verwandt wie in der anderen Datei!
AW: Farbe eines Objektes an Zellenfarbe anpassen
21.03.2007 12:29:04
Dan
Hmm, keine Ahnung :-(. Verwendest Du irgendwelche 'locks' (Sheets-Schloesser)?
AW: Farbe eines Objektes an Zellenfarbe anpassen
21.03.2007 12:32:19
Benny
Eigentlich nicht!
Ich habe jetzt die colorzelle auf G8 und den Sheetnamen auf H8! Richtig soweit! Das Sheet heisst Umsatz. Steht auch in H8. Auf dem Blatt Umsatz hab ich die drei shapes! Green_light yellow_light und red_light.
Aber wir schon gesagt, in der resetsoplight function tritt der Fehler auf!
Anzeige
AW: Farbe eines Objektes an Zellenfarbe anpassen
21.03.2007 12:41:50
Dan
Hmm, ich habe dies getestet, es geht ohne Probleme. Willst/kanns Du Deine Datei hier im forum 'posten'? Ich koennte mir so das Problem ansehen...
AW: Farbe eines Objektes an Zellenfarbe anpassen
21.03.2007 12:48:00
Benny
kann ich sie dir vielleicht per mail schicken! wäre mir lieber!
AW: Farbe eines Objektes an Zellenfarbe anpassen
21.03.2007 12:51:00
Dan
ja, das ist klar, ddmail@seznam.cz
AW: Farbe eines Objektes an Zellenfarbe anpassen
21.03.2007 13:01:47
Benny
ist raus!

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige