Re: Zeilen markieren
14.10.2002 14:44:52
Hajo_Zi
Hallo Andrewie Du es wahrscheinlich schon aus den Antworten gesehen hast ist die Lösung nicht so einfach. Darum habe ich auch einige Fragen aufgeschrieben. Aber von Deiner Seite keine Information bekommen. Die Lösung muß schon per VBA erfolgen und dazu mußt Du schon einige Informationen im Forum geben.
Ich hatte gedacht Boris hat das schon intensiv erarbeitet, Aber das dauert wahrscheinlich noch ein wenig.
Also für Boris und für Dich als Ansatz. Folgender Code. Da Du keine Informationen geben willst mußt Du dann selber sehen, wie Du die Fehler oder Deine speziellen Wünsche in den Code einarbeitest.
In ein Modul
Option Explicit
Public Wert(5, 5, 5) As String ' 1=Farbe; 2=Zelle; 3= Register
Public I As Integer
in DieseArbeitsmappe
Option Explicit
Private Sub Workbook_Open()
If ActiveCell.Column < 6 Then
For I = 1 To 5
' Werte auslesen
Wert(I, 1, 1) = Cells(ActiveCell.Row, I).Interior.ColorIndex
Wert(I, 2, 2) = Cells(ActiveCell.Row, I).Address
Wert(I, 3, 3) = ActiveSheet.Name
' Zelle ot Färben
Cells(ActiveCell.Row, I).Interior.ColorIndex = 3
Next I
End If
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Zurück
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Zurück
End Sub
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Zurück
End Sub
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
' alte Werte zurücksetzen
Zurück
' neue Werte Auslesen
If ActiveCell.Column < 6 Then
For I = 1 To 5
' Werte auslesen
Wert(I, 1, 1) = Cells(ActiveCell.Row, I).Interior.ColorIndex
Wert(I, 2, 2) = Cells(ActiveCell.Row, I).Address
Wert(I, 3, 3) = ActiveSheet.Name
' Zelle ot Färben
Cells(ActiveCell.Row, I).Interior.ColorIndex = 3
Next I
End If
End Sub
Sub Zurück()
For I = 1 To 5
Worksheets(Wert(I, 3, 3)).Range(Wert(I, 2, 2)).Interior.ColorIndex = CInt(Wert(I, 1, 1))
Next I
End Sub
Code eingefügt mit Syntaxhighlighter 1.16
Gruß Hajo