um Zeilen farblich zu markieren, habe ich von Herrn Oliver Scheckelhoff, Berlin, eine Beispielsdatei.
Diese Beispielsdatei funktioniert für meinen Anwendungsfall einwandfrei.
Um zu verstehen wie der VBA-Code funktioniert, versuche ich den Aufbau nachzuvollziehen.
Code im Modul
Option Explicit
'==========================================================================================
'Hier wird mit der ersten Zahl für die zu markierende Lange eingegeben. In diesem Beispiel
'wird die zeile bis zur Spalte AZ markiert.
'==========================================================================================
Public Wertvorgaben(53, 3, 3) As String ' 1=Zellenlänge; 2=Zelle; 3= Register
Public Wiederholungen As Integer
Public Markierung_an_aus As Integer
Sub Zeilenmarkierung_an_aus()
Zurück
'==========================================================================================
'Hier wird die Variable, die oben deklariert wurde, auf 0 oder 1 gesetzt. Sie dient zum
'Ein- bzw. Ausschalten der Zeilenmarkierung.
'==========================================================================================
If Markierung_an_aus = 0 Then
Markierung_an_aus = 1
ElseIf Markierung_an_aus = 1 Then
Markierung_an_aus = 0
End If
End Sub Sub Zurück()
If Markierung_an_aus = 0 Then
If Wertvorgaben(1, 1, 1) "" Then
For Wiederholungen = 1 To 52
If Worksheets(Wertvorgaben(Wiederholungen, 3, 3)).Range(Wertvorgaben(Wiederholungen, 2, 2)). _
Interior.ColorIndex = 35 Then 'Hier muss die Farbe, die
'die Zeile annehmen soll geändert
'werden
Worksheets(Wertvorgaben(Wiederholungen, 3, 3)).Range(Wertvorgaben(Wiederholungen, 2, 2)). _
Interior.ColorIndex = CInt(Wertvorgaben(Wiederholungen, 1, 1))
End If
Next Wiederholungen
End If
End If
End Sub
Code in "Diese Arbeitsmappe" ( ist von mir verändert worden )
Option Explicit
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Zurück
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Markierung_an_aus = 0
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Zurück
If (ActiveCell.Row >= 5 And ActiveCell.Row
Sub Zurück()
If Markierung_an_aus = 0 Then
If Wertvorgaben(3, 1, 1) "" Then
For Wiederholungen = 3 To 9
If Worksheets(Wertvorgaben(Wiederholungen, 3, 3)).Range(Wertvorgaben(Wiederholungen, 2, 2)).Interior.ColorIndex = 6 Then 'Hier muss die Farbe, geändert werden.....
Worksheets(Wertvorgaben(Wiederholungen, 3, 3)).Range(Wertvorgaben(Wiederholungen, 2, 2)).Interior.ColorIndex = CInt(Wertvorgaben(Wiederholungen, 1, 1))
End If
Next Wiederholungen
End If
End If
End Sub
Sub Auslesen()
If Markierung_an_aus = 0 Then
For Wiederholungen = 3 To 9
'Werte auslesen
Wertvorgaben(Wiederholungen, 1, 1) = Cells(ActiveCell.Row, Wiederholungen).Interior.ColorIndex
Wertvorgaben(Wiederholungen, 2, 2) = Cells(ActiveCell.Row, Wiederholungen).Address
Wertvorgaben(Wiederholungen, 3, 3) = ActiveSheet.Name
Cells(ActiveCell.Row, Wiederholungen).Interior.ColorIndex = 6 'Hier muss die Farbe, die
'die Zeile annehmen soll geändert
'werden
Next Wiederholungen
End If
End Sub
Wer kann mir erklären, wie sich "Wertvorgaben(9, 3, 3) As String" zusammensetzt bzw. die Bedeutung allgemein
und die Bedeutung innerhalb der Klammer.
Schon mal besten Dank!
Werner