AW: VBA: Zellen einfärben
13.02.2020 09:18:35
fcs
Hallo Erwin,
hier ein entsprechendes Makro
LG
Franz
Sub Faerben_mehrfache()
Dim Farbe_1 As Long, Farbe_2 As Long
Dim bolFaerben As Boolean
Dim Farbe As Long
Dim Wert_alt
Dim wks As Worksheet
Set wks = ActiveSheet
Dim zeile As Long, Spalte As Long, rngStart As Range
Farbe_1 = RGB(204, 255, 204) '13434828 - helles Grün
Farbe_2 = RGB(255, 255, 204) '13434879 - helles Gelb
Set rngStart = Application.InputBox( _
Prompt:="Bitte die Startzelle für die Markierung wählen", _
Title:="Mehrfache markieren", Default:=ActiveCell.Address, Type:=8)
zeile = rngStart.Row
Spalte = rngStart.Column
With wks
Wert_alt = wks.Cells(zeile, Spalte).Value
Farbe = Farbe_1
For zeile = rngStart.Row + 1 To .Cells(.Rows.Count, Spalte).End(xlUp).Row
If Wert_alt .Cells(zeile, Spalte).Value Then
If bolFaerben = True Then
If Farbe = Farbe_1 Then
Farbe = Farbe_2
Else
Farbe = Farbe_1
End If
End If
Wert_alt = .Cells(zeile, Spalte).Value
bolFaerben = False
ElseIf Wert_alt = .Cells(zeile, Spalte).Value Then
If bolFaerben = False Then
'vorherige Zeile färben
.Cells(zeile - 1, Spalte).Interior.Color = Farbe
End If
.Cells(zeile, Spalte).Interior.Color = Farbe
bolFaerben = True
End If
Next
End With
Fehler:
With Err
Select Case .Number
Case 0 'alles OK
Case 424 'Objekt erforderlich
'Fehler weil Eingabe in Inputbox abgebrochen wurde
Case Else
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description, _
vbOKOnly, "Fehler im Makro ""Faerben mehrfache"""
End Select
End With
End Sub