HERBERS Excel-Forum - die Beispiele

Thema: Farbauswahldialog generieren, aufrufen und löschen

Home

Gruppe

Dialog

Problem

Wie kann ich auf Schaltflõchendruck ein Dialogblatt zur Farbauswahl generieren, den Dialog aufrufen, Farben auswõhlen und das Dialogblatt wieder l÷schen?

Lösung
Geben Sie den nachfolgenden Code in ein Standardmodul ein und weisen Sie ihn einer Schaltfläche zu.
StandardModule: basMain

Public clrArt As Boolean

Sub ColorPicker()
  Dim dlgFarben As DialogSheet
  Dim btnOK As Button, btnCancel As Button
  Dim optInterior As OptionButton, optFont As OptionButton
  Dim txtClr As TextBox
  Dim intRow As Integer, intCol As Integer
  Dim l As Integer, t As Integer, intClr As Integer
  Application.ScreenUpdating = False
  Set dlgFarben = DialogSheets.Add
  With dlgFarben
    .Name = "dlgFarben"
    With .DialogFrame
      .Top = 0
      .Left = 0
      .Height = 200
      .Width = 170
      .Caption = "Color Picker"
    End With
    l = 15
    t = 15
    Set optInterior = .OptionButtons.Add(l, t, 75, 15)
    optInterior.Caption = "Zellhintergrund"
    optInterior.Value = xlOn
    Set optFont = .OptionButtons.Add(l + 75, t, 75, 15)
    optFont.Caption = "Schriftfarbe"
    t = t + 20
    For intRow = 1 To 7
      l = 15
      For intCol = 1 To 8
        intClr = intClr + 1
        Set txtClr = .TextBoxes.Add(l, t, 16, 16)
        With txtClr
          .Interior.ColorIndex = intClr
          .OnAction = "FarbAuswahl"
          .Name = "clr" & intClr
        End With
        l = l + 18
      Next intCol
      t = t + 18
    Next intRow
    Set btnOK = .Buttons(1)
    Set btnCancel = .Buttons(2)
    btnOK.Top = 180
    btnOK.Left = 25
    btnCancel.Top = 180
    btnCancel.Left = 100
    Worksheets(1).Select
    .Show
    Application.DisplayAlerts = False
    .Delete
    Application.DisplayAlerts = True
  End With
End Sub

Sub FarbAuswahl()
  Dim strAc As String
  Worksheets("Tabelle1").Select
  Application.ScreenUpdating = True
  strAc = Application.Caller
  If DialogSheets("dlgFarben").OptionButtons(1).Value = xlOn Then
    Selection.Interior.ColorIndex = CInt(Right(strAc, Len(strAc) - 3))
  Else
    Selection.Font.ColorIndex = CInt(Right(strAc, Len(strAc) - 3))
  End If
End Sub

Beiträge aus dem Excel-Forum zu den Themen Dialog und DialogSheet

xlDialogInsertHyperlink.show Arbeitmappen über Dialogfeld zusammen fassen
5.0 Dialog Speichern unter Dialog in Word aufrufen inkl. Pfad
Druckerdialog Dateityp im "Speichern unter"-Dialog vorgeben
Makro stoppen, wenn Excel-Dialog? xlDialogOpen anpassen
Klick in definierten Rangebereich startet Dialog xlDialogOpen bei Excel 2007 funzt nicht
FileDialog inkl. Anklicken von Desktop, Eigene D. Grösse Dialogfenster der InputBox
Dialogfeld unterdrücken Dialog "permanently delete sheets" unterbinden
Format-Dialog funktioniert nicht mehr Dialog "Verknüpfung aktualisieren"
Ordnerdialog und Dateidialog Ordnerdialog und dateidialog
Ordnerdialog und Dateidialog Filedialog
Herber/Beispiele/Dialoge/Checkbox/137601 Bilder bei Click im Dialogfeld
Suchdialog über VBA aufrufen mit Wert aus Combobox Dialog öffnen
Diagramm als Grafik mit Speicherdialog exportieren Dialogfenster zum kopieren
FileDialog-Objekt unter O2k Abrage von Dialogfeldargumenten
Datei Auswählen Dialog (Application.FileDialog) xlDialogOpen/FindFile ohne Open
Dialogfeld zum pdf öffnen Dialogfeld schließen, wenn Benutzer nichts eingibt
Problem mit ApplicationDialogs Das Dialogfeld "sortieren" aufrufen?
Keine Dialogbox bei SaveAs Dialogbox
Bei xlDialogSaveAs Dateinamen vorgeben Blattauswahldialog...
speichern unter dialogbox problem Speicherndialog bei BeforeClose unterbinden
Dialogfenster "Aktualisierung der Verknüpfungen&qu speichern unter dialogbox einbinden
Dialogfeld Beschriftungsbereiche Problem nach 'application.dialogs(xldialogsendmail
dialog aktualisieren xlDialogSendMail - Passwort übergeben
Dialog zur datei dialogbox-neue datei erzeugen...
Save As Dialog (*.bat ausführen) ? Dialog automatisch mit OK bestätigen