Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1216to1220
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

Farbpaletten-Problem

Farbpaletten-Problem
Bruno
Guten Abend Excel-Profis
Mit nachstehendem Code ermittle ich den Farbindex vorhandener Zellfarben:
Sub Farbpalette()
Dim b As Boolean
Dim I As Integer
b = Application.Dialogs(xlDialogPatterns).Show
If b = True Then
I = ActiveCell.Interior.ColorIndex
MsgBox "Farbindex dieser Zelle = " & I
Else
I = xlNone
MsgBox "Dialog Farbindex abgebrochen"
End If
End Sub

Ist eine markierte Zelle mit einer Hintergrundfarbe belegt, klappt die Anzeige wie gewünscht.
Ist die Zelle ohne Hintergrundfarbe und wird im Palettendialog «abbrechen» angeklickt, bleibt der Zellenhintergrund im Originalzustand, also farblos, bestehen. Wird der Dialog aber wird mit «OK» quittiert, ist die markierte Zelle anschliessend weiss hinterlegt, was unerwünscht ist.
Kann mir jemand Tipps zur erforderlichen Anpassung des vorstehenden Codes geben?
Besten Dank und Gruss, Bruno

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Farbpaletten-Problem
09.06.2011 18:18:53
Oberschlumpf
Hi Bruno
a) dein Code funzt bei mir einwandfrei. Egal, was ich anklicke, es geschieht genau das, was soll.
b) wozu benötigst du zur Farbermittlung den Farbauswahl-Dialog?
Wenn du ins Select-Change Ereignis schreibst:
MsgBox Target.Interior.ColorIndex
dann kommt doch sofort die Rückmeldung, welche Hintergrundfarbe die Zelle hat - auch ohne Farbdialog.
Vielleicht beschreibst du mal, was genau du erreichen möcthest.
Ciao
Thorsten
AW: Farbpaletten-Problem
09.06.2011 19:55:09
Bruno
Hallo Thorsten
In einer umfangreichen Kalkulationsmappe werden in verschiedenen Tabellenblättern mittels Formeln errechnete Detailpreise in Festwerte umgewandelt und anschliessend bis auf die Zwischensummen gelöscht. Das Umwandeln und Entfernen dieser Detailpreise erfolgt mittels VBA über die Zellfarbe differenziert je nach Devisausgabe und wird zuvor durch die Zuweisung einer «Löschfarbe» in den entsprechenden Zellen markiert. Damit die verschiedenen Nutzer der Kalkulationsmappe diesen zu löschenden Detailpreisen die exakt richtige Füllfarbe aus der Farbpalette zuweisen können, habe ich in zwei Zellen zur Kontrolle die entsprechenden Hintergrundfarben gesetzt und die zugehörigen Farbindizes hineingeschrieben. Die Anwender können die Zellfarbe ja nur über die Farbpalette und nicht als Indexzahl zuweisen. Wenn sie versehentlich eine nebenstehende Zelle markieren, ist diese danach weiss hinterlegt!
Da die rund 30 Tabellen der ganzen Kalkulationsmappe überwiegend keine Hintergrundfarben aufweisen, ist das bei mir auftretende Verhalten mit dem weissen Hintergrund natürlich nicht akzeptabel und muss irgendwie gelöst werden.
Interessant finde ich, dass der eingesetzte Code (ist übrigens nicht von mir) bei Dir wunschgemäss funktioniert! Bei mir muss ich (auch auf dem Laptop als Zweitrechner) nach einem «OK» bei farblosen Zellen immer manuell nachbessern.
Danke trotzdem für Deine Bemühungen und Gruss, Bruno
Anzeige
AW: Farbpaletten-Problem
09.06.2011 20:14:12
Nepumuk
Hallo,
das ist nicht weiß sondern automatisch. Fang das einfach so ab:
Public Sub Farbpalette()
    
    Dim lngColorIndex As Long
    
    If Application.Dialogs(xlDialogPatterns).Show Then
        Do
            lngColorIndex = ActiveCell.Interior.ColorIndex
            If lngColorIndex = xlColorIndexAutomatic Then
                ActiveCell.Interior.ColorIndex = xlColorIndexNone
            Else
                Exit Do
            End If
        Loop
        MsgBox "Farbindex dieser Zelle = " & lngColorIndex
    Else
        MsgBox "Dialog Farbindex abgebrochen"
    End If
End Sub

Gruß
Nepumuk
Anzeige
AW: Farbpaletten-Problem
09.06.2011 20:39:27
Bruno
Vielen Dank Nepumuk, damit funktioniert es wunschgemäss !!
Gruss und schönen Abend noch, Bruno

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige