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

Probleme mit dialogs(xldialogeditcolor).show

Probleme mit dialogs(xldialogeditcolor).show
23.09.2005 17:06:15
helmut
Hallo Zusammen,
habe mal wieder ein Problem, wo ich zur Zeit nicht weiterkomme (trotz stundenlangem probieren).
Ich möchte gerne einen Dialog von Excel - in diesem Fall den Dialog xldialogeditcolor - nutzen um einer Textbox in einer Userform eine neue Hintergrundfarbe zu verpassen. Nachdem ich einige verzweifelte Versuche damit verbracht habe über den Befehl application.dialogs(xldialogeditcolor).show diesen Dialog über einen Button zu öffnen - mann muss wissen, das in diesem Fall das erste von unzähligen Attributen von .show auf true gesetzt werden muss, also richtigerweise lautet der Ausdruck "application.dialogs(xldialogeditcolor).show True" - gelingt es mir nicht, den ausgewählten Farbton auf die userform1.textbox1.backcolor zu übertragen. In der Hilfe zu editcolor steht zwar, dass die Übergabewerte R, G und B abzufragen sind, aber ich komme nicht darauf wie der Rückgabewert nach der Auswahl in dem Dialog mit ok an meine Textbox möglich ist.
In diesem Zusammenhang habe ich noch eine weitere Frage:
Im Objektkatalog findet man unter der Eigenschaft .show unten die 30 verschiednenen Argumente (Attribute) aufgeführt. Wer kann mir sagen wo ich Infos erhalte welches Attribut was veranlasst?!!! (Das Erste auf True setzen bedeutet das der Dialog angezeigt wird, weiter bin ich mit experimentieren nicht gekommen)
Würde mich über eine kompetente Hilfe freuen!
Mit freundlichen Grüßen,
Helmut Palmen

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Probleme mit dialogs(xldialogeditcolor).show
23.09.2005 17:37:33
Peter
Servus,
zu 1: am Bsp. eines CommandButtons so
Private Sub CommandButton1_Click()
Application.Dialogs(xlDialogEditColor).Show True
Me.CommandButton1.ForeColor = xlDialogEditColor
End Sub

zu 2: k.a.
MfG Peter
AW: Probleme mit dialogs(xldialogeditcolor).show
23.09.2005 17:40:32
Fred
Hi,
zu2 findest du in der Hilfe unter "Listen der integrierten Dialogfeldargumente"
mfg Fred
AW: Probleme mit dialogs(xldialogeditcolor).show
23.09.2005 19:35:54
Helmut
Hallo Peter,
werde Deinen Lösungsansatz gleich mal testen. Trotzdem habe ich noch eine Frage: Wie komme ich an die Werte für R,G,B? Ich möchte diese Werte in einer Excel Tabelle speichern und die Textbox (oder auch den Button) über eine separate Schleife dann als Wert setzen : Beispiel: textbox.forecolor=RGB(255,125,200). Hast Du darauf eventuell eine Antwort parat?! Würde mich über eine Antwort freuen!
Gruß,
Helmut
Anzeige
AW: Probleme mit dialogs(xldialogeditcolor).show
23.09.2005 17:55:39
Ralf
Hallo Helmut,
das 'True' kannst Du getrost weglassen.
Beim Aufruf des Farbdialogs kannst Du die Farbe des Dialogfeldes nicht direkt der Zelle zuweisen. Du kannst lediglich den Farbwert des Colorindexes verändern (sind, glaube ich, 56). Diesen Colorindex kannst Du dann der Zelle zuweisen. Bsp.:

Sub Farbe_ändern()
'Erster Farbindex soll verändert werden...
'Hier wird erst einmal Rot als Standard gesetzt.
Application.Dialogs(xlDialogEditColor).Show 1, 255, 0, 0 'jetzt Deine Wunschfarbe 'auswählen
ActiveCell.Interior.ColorIndex = 1 'Jetzt die Farbe an die Zelle übergeben.
End Sub

Die Argumente zu den einzelnen Dialogs findest Du, wenn Du im Pbjektkatalog mal 'Dialogs' eingibst, auf den Hilfebutton klickst und Dir von dort die Liste der Argumente (Hyperling ist ziemlich weit unten) anzeigen lässt.
Ciao, Ralf
Anzeige
AW: Probleme mit dialogs(xldialogeditcolor).show
23.09.2005 18:08:00
Fred
Hi,
"den ausgewählten Farbton auf die userform1.textbox1.backcolor zu übertragen"
mfg Fred
AW: Probleme mit dialogs(xldialogeditcolor).show
23.09.2005 20:39:25
Ralf
Hallo Helmut,
sorry, hatte überlesen, dass Du die Farbe einer Textbox zuweisen willst. xlDialogEditColor ist aber vorrangig für die Tabellen in Excel gedacht, weniger für VBA. Hier müßtest Du mit API schon etwas tiefer in die Trickkiste greifen. Da das aber ziemlich aufwendig ist und wenn Dir mit einem kleinen Trick auch geholfen ist (die Farbe erst einer Zelle zuweisen und diese Farbe dann für BackColor Deiner Textbox übergeben), dann folgender Vorschlag (hier mit Button, ist aber das Gleiche in grün und funktioniert).

Sub Farbe_ändern()
'Farbdialogfeld wird aufgerufen, Colorindex 1 wird auf Rot gesetzt
'Nach Aufruf des Dialogfeldes kann die Farbe des Colorindex 1 im Dialogfenster geändert werden
Application.Dialogs(xlDialogEditColor).Show 1, 255, 0, 0
ActiveCell.Interior.ColorIndex = 1 'und hier wird die Farbe der aktiven Zelle zugewiesen
'Zuweisen der Farbe an einen Button als Hintergrundfarbe
CommandButton1.BackColor = ActiveCell.Interior.Color
End Sub

Ob und wenn ja wie man die RGB-Werte aus dem Farbdialog auslesen kann, kann ich Dir leider auch nicht sagen.
Ciao, Ralf
Anzeige
AW: Probleme mit dialogs(xldialogeditcolor).show
23.09.2005 21:10:40
Fred
Hi,
ich hab die Frage nicht gestellt, nur den Hinweis auf die Userform gegeben.
mfg Fred
AW: Probleme mit dialogs(xldialogeditcolor).show
23.09.2005 21:52:56
Ralf
Hallo Helmut,
sorry, hatte überlesen, dass Du die Farbe einer Textbox zuweisen willst. xlDialogEditColor ist aber vorrangig für die Tabellen in Excel gedacht, weniger für VBA. Hier müßtest Du mit API schon etwas tiefer in die Trickkiste greifen. Da das aber ziemlich aufwendig ist und wenn Dir mit einem kleinen Trick auch geholfen ist (die Farbe erst einer Zelle zuweisen und diese Farbe dann für BackColor Deiner Textbox übergeben), dann folgender Vorschlag (hier mit Button, ist aber das Gleiche in grün und funktioniert).

Sub Farbe_ändern()
'Farbdialogfeld wird aufgerufen, Colorindex 1 wird auf Rot gesetzt
'Nach Aufruf des Dialogfeldes kann die Farbe des Colorindex 1 im Dialogfenster geändert werden
Application.Dialogs(xlDialogEditColor).Show 1, 255, 0, 0
ActiveCell.Interior.ColorIndex = 1 'und hier wird die Farbe der aktiven Zelle zugewiesen
'Zuweisen der Farbe an einen Button als Hintergrundfarbe
CommandButton1.BackColor = ActiveCell.Interior.Color
End Sub

Ob und wenn ja wie man die RGB-Werte aus dem Farbdialog auslesen kann, kann ich Dir leider auch nicht sagen.
Ciao, Ralf
Anzeige
AW: Probleme mit dialogs(xldialogeditcolor).show
helmut
Hallo Zusammen,
habe nun wieder einiges dank Eurer Hilfe dazugelernt! Danke! Habe trotzdem die Frage als noch offen markiert um eine eventuelle Antwort auf meine Zusatzfrage noch zu erhalten:
Wie kann ich die Werte für R,G,B aus xldialogeditcolor erhalten? Hat dazu jemand eine Idee?
Gruß,
Helmut
AW: Probleme mit dialogs(xldialogeditcolor).show
25.09.2005 02:22:08
Hubert
Hallo,
wozu brauchst du die RGB-Werte?
mfg Hubert
AW: Probleme mit dialogs(xldialogeditcolor).show
27.09.2005 16:32:10
Helmut
Hallo Hubert,
ich möchte gerne die Zuweisung der Hintergrundfarbe von Textfeldern über RGB(variabel1, variabel2, variabel3) zuweisen. Außerdem ist für den Nutzer der Anwendung die Zuordnung über die RGB Zahlenwerte einfacher.
Gruß,
Helmut
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige