Über Dropdownfeld Farbe mehrerer Spalten ändern

Dieses Thema Über Dropdownfeld Farbe mehrerer Spalten ändern im Forum "Windows XP Forum" wurde erstellt von manuel_bo, 16. Jan. 2008.

Thema: Über Dropdownfeld Farbe mehrerer Spalten ändern Hallo, würde mir gern in einer Exeldatei in der vordersten Spalte ein Feld mit 3 Auswählmöglichkeiten erstellen. 1:...

  1. Hallo,

    würde mir gern in einer Exeldatei in der vordersten Spalte ein Feld mit 3 Auswählmöglichkeiten erstellen.
    1: in Arbeit
    2: erlegigt
    3: vorgemerkt

    nun sollen die dahinterliegenden Spalten ihre farbe in abhängigkeit des statuses ändern.
    z.B. in Arbeit grün (z.B. A16-H16) soll grün werden.

    Ist das möglich? wie geht das?

    danke

    Gruß

    Manuel
     
  2. Hallo manuel_bo,

    das funktioniert über Gültigkeit und einen Makro.

    zunächst hab ich dir ein Makro erstellt, mit dem die Gültigkeit in Spalte A gesetzt wird.
    Code:
    Sub GueltigkeitInSpalteASetzen()
    
    -> entspricht
    -> Daten->Gültigkeit...->Reiter Einstellungen
    -> Zulassen: Liste
    -> Leere Zellen ignorieren: Haken
    -> ZellendropDown     : Haken
    -> Quelle         : in Arbeit;erledigt;vorgemerkt
     
     Const cSP_AUSWAHL = 1-> entspricht Spalte A
     
     With ActiveSheet.Columns(1).Validation
        .Delete
        .Add Type:=xlValidateList, _
           AlertStyle:=xlValidAlertStop, _
           Operator:=xlBetween, _
           Formula1:=in Arbeit,erledigt,vorgemerkt
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = 
        .ErrorTitle = 
        .InputMessage = 
        .ErrorMessage = 
        .ShowInput = True
        .ShowError = True
     End With
    End Sub
    Wenn dieses Makro gelaufen oder in Arbeit;erledigt;vorgemerkt von Hand als Gültigkeit für Spalte A eingegeben ist, kann es weiter gehen.

    Folgendes Makro muß in die Code-Seite des Tabellenblattes kopiert werden.
    Code-Seite ist erreichbar per->Blattlasch->rechte Maustaste->Code anzeigen
    Code:
    Option Explicit
    Private Const cSP_AUSWAHL = 1-> entspricht Spalte A
    
    Private Sub Worksheet_Change(ByVal Target As Range)
     Dim Zelle As Range
     For Each Zelle In Target
      If Zelle.Column = cSP_AUSWAHL Then
       Call FarbeDerZeileEntsprechendStringSetzen(Zelle)
      End If
     Next
     Set Zelle = Nothing
    End Sub
    
    Private Function FarbeDerZeileEntsprechendStringSetzen(Zelle As Range)
    
     Dim ws As Worksheet, r As Range
     Dim lLetzteSpalte As Long, lFarbIndex As Long
     Dim txt As String
     
     Set ws = Zelle.Parent
     lLetzteSpalte = ws.UsedRange.Columns.Count + ws.UsedRange.Column - 1
     Set r = ws.Range(ws.Cells(Zelle.Row, 1), ws.Cells(Zelle.Row, lLetzteSpalte))
     txt = Zelle.Value
     Select Case txt
      Case :       lFarbIndex = xlColorIndexNone->keine
      Case in Arbeit:  lFarbIndex = 38       ->hellrosa
      Case erledigt:   lFarbIndex = 35       ->hellgruen
      Case vorgemerkt:  lFarbIndex = 6       ->gelb
      Case Else:
      ->unzulässiger Wert -> löschen
       Application.EnableEvents = False
       Zelle.Value = 
       Application.EnableEvents = True
       lFarbIndex = xlColorIndexNone
     End Select
     r.Interior.ColorIndex = lFarbIndex
     Set ws = Nothing: Set r = Nothing
    End Function
    Gruß Matjes :)
     
  3. hallo

    Danke für deine Mühe. Hat wunderbar geklappt
     
Die Seite wird geladen...

Über Dropdownfeld Farbe mehrerer Spalten ändern - Ähnliche Themen

Forum Datum
Windowsanmeldung über Aufgabenplanung Windows Server-Systeme 21. Okt. 2016
Java Downloader lässt sich nicht sauber installieren Software: Empfehlungen, Gesuche & Problemlösungen 5. Okt. 2016
Excel: Bereiche auf 'leer' Überprüfen Microsoft Office Suite 15. Sep. 2016
Update auf Windows 10 über Creation Tool Windows 7 Forum 13. Sep. 2016
Screenshots über mail konto Einstellungen Windows 10 Forum 20. Aug. 2016