Evtl ist das ja was, wobei man die jetzt relevanten Zellen nicht sichtbar irgendwo außerhalb deiner Tabelle packen kann. Da wo die nicht stören.
Man könnte vielleicht bestimmten Tastenkombinationen die Farben zuordnen! d.h. Dass eine Zelle Selectiert wird und per Tastenkombination wird die Zelle dann eingefärbt! Dabei wird kurz der Blattschutz aufgehoben die Zelle angepinselt und danach der Blattschutz wieder gesetzt!
Code:
Sub Farbe()
ActiveSheet.Unprotect
ActiveCell.Interior.Color = Range("A1").Interior.Color
ActiveSheet.Protect
End Sub
Das einfach in ein Modul und die Farbe die du haben möchtest in A1 des aktiven Tabellenblatt! Dann weist du dem Makro unter "Makros" ein Tastenkürzel zu! Hinter Unprotect ein Leerzeichen und dein Passwort für den Blattschutz das Selbe bei Protect! Wenn du den Code dann auch noch schützen möchtest, dann sicherst du das VBA-Projekt auch noch mit einem Passwort!
Es geht darum die Ampelfarben für eine Zelle zu nutzen. Hierdurch soll der Nutzer angeben wie der Erledigungsstatus der einzelnen Aktion (also der einzelnen Zelle ist).
Somit soll dieser wirklich jede einzelne Zelle in den 4 Farben ändern können.
Der Sinn dahinter ist unter anderem, dass ich die Felder in der Datei zählen lasse anhand ihrer Hintergrundfarbe.
Nutzt der User also eine leicht abweichende Farbe funktioniert diese Aufzählung nicht mehr.
Es hat also nichts mit Unvermögen zu tun...es kann ja jedem einmal passieren:)
Nach meinem Wissensstand bleibt dann nur eine komplette VBA Lösung oder die ActiveX Elemente im Beispiel. Aber Excel kann viel von dem ich nichts weiß^^
Aber hilfreich für Helfer ist auf jeden Fall eine Beispieldatei. (Sind die betreffenden Zellen zusammenhängen? Wild verteilt? usw usw.)
Wenn wirklich die Farben ausgewertet werden sollen, ist so eine Lösung schon angebracht, bei unterschiedlichen Excelversionen varieren die Farben ja etwas.
Hallo,
Zitat:Der Sinn dahinter ist unter anderem, dass ich die Felder in der Datei zählen lasse anhand ihrer Hintergrundfarbe.
genau so etwas hatte ich schon befürchtet. Es ist absolut unprofessionell Auswertungen nach Zellformaten vorzunehmen.
oder das geht auch in die Tabelle
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Target.Column = 6 Then
ActiveSheet.Unprotect
If ActiveCell.Interior.Color = Range("A1").Interior.Color Then
ActiveCell.Interior.Color = Range("B1").Interior.Color
ElseIf ActiveCell.Interior.Color = Range("B1").Interior.Color Then
ActiveCell.Interior.Color = Range("c1").Interior.Color
ElseIf ActiveCell.Interior.Color = Range("C1").Interior.Color Then
ActiveCell.Interior.Color = Range("D1").Interior.Color
ElseIf ActiveCell.Interior.Color = Range("d1").Interior.Color Then
With Selection.Interior
.Pattern = xlNone
.TintAndShade = 0
.PatternTintAndShade = 0
End With
Else
ActiveCell.Interior.Color = Range("A1").Interior.Color
End If
ActiveSheet.Protect
End If
End Sub
Farben von A1 bis D1! In Spalte F kann dann versucht werden: Einfach eine Zelle in Spalte F andrücken, dann eine Zelle Rechts oder links daneben und dann wieder die Zelle in Spalte F! So wechselt sie die Farbe..
hallöchen,
nochmal, nimm doch die Nachbarzelle und gib dort einen Farbnamen an. Darauf legst Du eine bedingte Formatierung und da hast Du einige Möglichkeiten wie Ampeln, ausgefüllte Kreise usw. oder du definierst eben Deine gewünschten 4 Farben
Ich hab hier mal nur rot genommen. B1 habe ich so schmal gehalten, dass man da noch anklicken kann - da kommt dann der Auswahlpfeil
, Du wählst rot und es wird eingefärbt. In B1 sollte man die Schriftgröße noch kleinstmöglich stellen und ggf. eine getrennte Formatierung vornehmen - hier rote Schrift bei rotem Hintergrund usw.
Arbeitsblatt mit dem Namen 'Tabelle1' |
| A | B |
1 | Willi | rot |
Zelle | Gültigkeitstyp | Operator | Wert1 | Wert2 |
B1 | Liste | | rot;gelb;grün | |
Verwendete Systemkomponenten: [Windows (32-bit) NT 10.00] MS Excel 2016 |
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg |
Hi André,
in #8 hat der TE explizit das Anlegen einer Nachbarspalte ausgeschlossen.
Hallo Günter,
hat er nicht. Er schreibt sinngemäß nur, dass es aufwändig ist und nicht schön … Und ich habe nun einen schönen Tabellenausschnitt gepostet und Aufwändig ist das auch nicht. Wenn man es geschickt anstellt, macht man das in einer Spalte und kopiert es 40x …
Hallo Sebastian,
hier eine Variante per VBA. Das Auswahlmenü erfolgt durch Rechtsklick auf eine Zelle.
Die Datei muss als Makrodatei mit der Endung .xlsm gespeichert werden.
' **************************************************************
' Modul: Tabelle3 Typ = Element der Mappe(Sheet, Workbook, ...)
' **************************************************************
Option Explicit
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim oCtrB As CommandBarButton
Cancel = True
With Application.CommandBars.Add("MeineFarben", 5, , True)
'1. Untereintrag
With .Controls.Add(msoControlButton)
.Caption = "Rot"
.OnAction = "Hintergrundfarbe_setzen_Rot"
End With
'2. Untereintrag
With .Controls.Add(msoControlButton)
.Caption = "Gelb"
.OnAction = "Hintergrundfarbe_setzen_Gelb"
End With
'3. Untereintrag
With .Controls.Add(msoControlButton)
.Caption = "Grün"
.OnAction = "Hintergrundfarbe_setzen_Gruen"
End With
'4. Untereintrag
With .Controls.Add(msoControlButton)
.Caption = "Farblos"
.OnAction = "Hintergrundfarbe_setzen_Farblos"
End With
.ShowPopup
.Delete
End With
End Sub
' **************************************************************
' Modul: Modul1 Typ = Allgemeines Modul
' **************************************************************
Option Explicit
Sub Hintergrundfarbe_setzen_Rot()
ActiveCell.Interior.ColorIndex = 3
End Sub
Sub Hintergrundfarbe_setzen_Gelb()
ActiveCell.Interior.ColorIndex = 6
End Sub
Sub Hintergrundfarbe_setzen_Gruen()
ActiveCell.Interior.ColorIndex = 10
End Sub
Sub Hintergrundfarbe_setzen_Farblos()
ActiveCell.Interior.ColorIndex = -4142
End Sub
Code eingefügt mit: Excel Code Jeanie
Nachtrag: Wenn man
ActiveCell durch
Selection ersetzt, lassen sich auch mehrere (vorher markierte) Zellen auf einmal ändern.
Gruß Uwe