Supportnet / Forum / Tabellenkalkulation
Aktive Zelle farbig - bestehende Formatierung bleibt
Frage
Hallo
Thread veraltet [url]https://supportnet.de/threads/215888[/url]
Hab trotzdem noch dranrumgebastelt.
in ein Modul:
[code]Option Explicit
Public AlteFarben() As Integer
Public MarkierteZellen() As String
Sub färbeln(ByVal Target As Range)
Dim zellen As Long, zelle, zaehler As Long
On Error Resume Next
For zaehler = 0 To UBound(AlteFarben) - 1
Range(MarkierteZellen(zaehler)).Interior.ColorIndex = AlteFarben(zaehler)
Next
On Error GoTo 0
ReDim AlteFarben(Target.Cells.Count)
ReDim MarkierteZellen(Target.Cells.Count)
zaehler = 0
For Each zelle In Target
AlteFarben(zaehler) = zelle.Interior.ColorIndex
MarkierteZellen(zaehler) = zelle.Address
zaehler = zaehler + 1
Next
For zaehler = 0 To UBound(AlteFarben) - 1
Next
zaehler = 0
For Each zelle In Target
If zelle = "" Then
zelle.Interior.ColorIndex = 19
Else
If zelle.Interior.ColorIndex = 19 Then
zelle.Interior.ColorIndex = AlteFarben(zaehler)
End If
AlteFarben(zaehler) = zelle.Interior.ColorIndex
MarkierteZellen(zaehler) = zelle.Address
zelle.Interior.ColorIndex = 19
End If
zaehler = zaehler + 1
Next
ActiveSheet.Protect "Test", UserInterFaceOnly:=True
End Sub
[/code]
in das Tabellenblatt:
[code]Option Explicit
Dim globalBoolLabel1Ausgewählt As Boolean
Dim globalBoolLabel2Ausgewählt As Boolean
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Call färbeln(Target)
End Sub
Private Sub ComboBox1_Change()
Range("E14") = ComboBox1.ListIndex + 1
End Sub
Private Sub ComboBox2_Change()
Range("K14") = ComboBox2.ListIndex + 1
End Sub
Private Sub CommandButton1_Click()
Worksheets("Kontierung").Select
End Sub
Private Sub CommandButton2_Click()
Worksheets("Dateneingabe (2)").Select
End Sub
Private Sub Label1_Click()
If Label1.Caption = Chr$(163) Then
Label1.Caption = "R"
globalBoolLabel1Ausgewählt = True
Else
Label1.Caption = Chr$(163)
globalBoolLabel1Ausgewählt = False
End If
End Sub
Private Sub Label2_Click()
If Label2.Caption = Chr$(163) Then
Label2.Caption = "R"
globalBoolLabel2Ausgewählt = True
Else
Label2.Caption = Chr$(163)
globalBoolLabel2Ausgewählt = False
End If
End Sub
[/code]
Das Makro kann jetzt auch mit zellbereichen benutzt werden
Gruß
Antwort 1 von minimaxler
verstehe ich das Richtig
in ein Modul heisst:visual Basic editor.
und wo schreibt man das ins tabellenblatt?
in ein Modul heisst:visual Basic editor.
und wo schreibt man das ins tabellenblatt?
Antwort 2 von minimaxler
Esklappt ja soweit.
Nur hab ich keine andere Füllfarbe mehr
Nur hab ich keine andere Füllfarbe mehr

