Clever-Excel-Forum

Normale Version: Zellen-Dropdown
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Ich habe mit VBA ein Zellen-Dropdown erstellt, das gut funktioniert.
Ist es nun möglich, dass man nicht nur die Namen in der zugrunde liegenden Liste abrufen kann, sondern auch die Formate, wie z.B. die Füllfarbe der entspr. Zelle.
Welches Makro muss ich dazu verwnden?

Danke für eine Hilfe

rkraemer
Hallo!
Ins Worksheet_Change einfaches
Range.Find().Copy Target
iVm temporärem Ausschalten der Events?

(Dies war jetzt ähnlich vage wie Deine Frage)

Gruß Ralf
(12.04.2016, 17:00)RPP63 schrieb: [ -> ]Hallo!
Ins Worksheet_Change einfaches
Range.Find().Copy Target
iVm temporärem Ausschalten der Events?

(Dies war jetzt ähnlich vage wie Deine Frage)

Gruß Ralf
Besten Dank für Deine Antwort

Wie Du bemerkt hast, bin ich also kein Profi, sonst wüsste ich vermutlich die Antwort. Ich habe mich ungeschickt ausgedrückt,
also nochmals etwas präziser:

Mittels Zellen-DropDown hole ich in die DropDown-Zelle aus einer Liste die entsprechenden Daten. In der Liste sind aber die einzelnen Zellen farblich gefüllt.
Gerne möchte ich zu den "geholten" Daten nun auch die Füllfarbe "holen".

Das Makro, welches bereits funktioniert (nachfolgend!), bringt allerdings nur den Zellen-Inhalt der Ursprungslisten-Zelle, nicht aber deren Füllfarbe.

Sub FORMAT()
Dim ZELLE As Range
Dim BEREICH As Range
Set BEREICH = Range("C1:C15")
   For Each ZELLE In BEREICH
         With BEREICH
            .FormatConditions.Delete
            .FormatConditions.Add Type:=xlCellValue, Operator:=xlBetween, Formula1:="a", Formula2:="Z"
        End With
  Next ZELLE
End Sub

Ich hoffe, dass ich mich nun besser ausgedrückt habe und würde mich freuen, wenn Du mir helfen könntest.
Besten Dank für die Geduld mit einem "fast noch" Anfänger!

Gruss Rolf (rkraemer)
Hallo Rolf,

Du kannst in einem Dropdown die Einträge nicht einfärben.
Hallo Ralf,

ich habe sehr wenig Erfahrung mit VBA, doch das Einfärben von Zellen funktioniert.

Sub rot()
ActiveCell.Activate
Selection.Interior.ColorIndex = 3
End Sub

Dadurch, dass du mit einer Liste arbeitest, ist die Zelle sowieso schon ausgewählt. ColorIndex=3 steht für Rot, ColorIndex=6 für Gelb und ColorIndex=4 für Grün. Mein obiger Code muss allerdings manuell aktiviert werden. Ich denke mal, dass es auch machbar sein wird ihn auszulösen, wenn du in die Liste klickst.
Du müsstest  .FormatConditions.Add Type:=xlCellValue, Operator:=xlBetween, Formula1:="a", Formula2:="Z" einzeln schreiben und den Farbindex zuweisen.

Da ich wenig Erfahrung mit VBA habe, ist es nur eine Vermutung von mir.

Gruß Foulcrow
Hi,

:05: :43:
mit
(15.04.2016, 10:22)Foulcrow schrieb: [ -> ]ActiveCell.Activate

aktivierst Du die aktive = aktivierte Zelle, das ist also überflüssig.

Einfacher so:
Code:
Sub rot()
   ActiveCell.Interior.ColorIndex = 3
End Sub
Moin!
Ich komme noch mal auf meine Antwort #2 zurück.
Den Zellendropdown kann man nicht formatieren.
Ich hatte die Frage so verstanden, dass die Übergabe des Dropdowns die Original-Formatierung der Quelle des Zellendropdowns übernehmen soll.
Daher auch mein Vorschlag:
Ins Worksheet_Change:

Code:
Application.EnableEvents = False
Range("Quelle").Find(What:=Target, LookAt:=xlWhole).Copy Target
Application.EnableEvents = True

(natürlich noch um eine vernünftige Fehlerbehandlung ergänzt)

Gruß Ralf