Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1572to1576
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
Inhaltsverzeichnis

Zelle mit Farbpalette färben ohne select?

Zelle mit Farbpalette färben ohne select?
21.08.2017 16:58:10
ralph
Hallo zusammen,
ich habe aktuell eine Funktion, die mir eine Zelle nach Farbwunsch aus der Farbpalette einfärbt. _
Hierfür muss ich aber das Arbeitsplatt aktivieren und die Zelle selektieren, das würde ich _ gerne umgehen, weis aber nicht wie.

Public Sub Fahrzeugfarbe_Click()
'Beim Auswählen der Fahrzeugfarbe
Dim rot3 As Long, grün3 As Long, blau3 As Long, wert As Long
Dim X As Long
Application.ScreenUpdating = False
'Sheets("Daten").Visible = True
Worksheets(Projekt_Auswahl & " Fahrzeuge").Activate          'Blatt Fahrzeug wird aktiviert
X = Worksheets(Projekt_Auswahl & " Fahrzeuge").Cells(3, 256).End(xlToLeft).Column               _
_
_
_
'Letzte Spalte ermitteln
Worksheets(Projekt_Auswahl & " Fahrzeuge").Cells(2, X + 1).Select       'Neu anzulegendes  _
Fahrzeug wird Farbe zugewiesen
Application.Dialogs(xlDialogPatterns).Show
'Farbe an Userform-Auswahlbutton zurück geben
wert = ActiveCell.Interior.Color
Fahrzeugfarbe.BackColor = wert
Application.ScreenUpdating = True
'Sheets("Daten").Visible = False
End Sub

Kann mir jemand helfen?
Gruß
Ralph

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelle mit Farbpalette färben ohne select?
21.08.2017 17:28:59
Nepumuk
Hallo Ralph,
im Prinzip so:
Option Explicit

Private Declare PtrSafe Function ChooseColorA Lib "comdlg32.dll" ( _
    ByRef pChoosecolor As CHOOSECOLOR) As Long

Private Type CHOOSECOLOR
    lStructSize As Long
    hwndOwner As LongPtr
    hInstance As LongPtr
    rgbResult As Long
    lpCustColors As LongPtr
    flags As Long
    lCustData As LongPtr
    lpfnHook As LongPtr
    lpTemplateName As String
End Type

Private Const CC_RGBINIT = &H1
Private Const CC_FULLOPEN = &H2
Private Const CC_ANYCOLOR = &H100

Public Sub test()
    Dim udtChooseColor As CHOOSECOLOR
    Dim lngReturn As Long
    Dim alngUserColor(15) As Long
    
    'Benutzerdefinierte Farben
    alngUserColor(0) = RGB(255, 0, 0)
    alngUserColor(1) = RGB(125, 125, 125)
    alngUserColor(2) = RGB(90, 90, 90)
    alngUserColor(3) = RGB(255, 90, 90)
    alngUserColor(4) = RGB(255, 255, 255)
    alngUserColor(5) = RGB(192, 192, 192)
    
    With udtChooseColor
        .lStructSize = Len(udtChooseColor)
        .hwndOwner = CLngPtr(Application.Hwnd)
        .hInstance = CLngPtr(Application.hInstance)
        .rgbResult = RGB(255, 0, 0)
        .lpCustColors = CLngPtr(VarPtr(alngUserColor(0)))
        .flags = CC_RGBINIT Or CC_ANYCOLOR Or CC_FULLOPEN
    End With
    lngReturn = ChooseColorA(udtChooseColor)
    If lngReturn <> 0 Then
        Worksheets(Projekt_Auswahl & " Fahrzeuge").Cells(2, X + 1).Interior.Color = udtChooseColor.rgbResult
    Else
        Call MsgBox("Abbrechen gedrückt", vbExclamation, "Hinweis")
    End If
End Sub

Gruß
Nepumuk
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige