Hallo Max87,
du musst dir die vorherige Einstellung merken. Da du die Markierungsfarben wohl auch nicht speichern willst, solltest du in einem Modul
Public Zeile,Spalte,Farbe()
und im Codeteil der Arbeitsmappe
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Zeile = 0 Then 'Größerzeichen führen mitunter zu Fehlern im Forum
else
For ix = 1 To Zeile
Cells(ix, Spalte).Interior.Color = Farbe(ix, Spalte)
Next ix
For iy = 1 To Spalte
Cells(Zeile, iy).Interior.Color = Farbe(Zeile, iy)
Next iy
End If
End sub
einfügen.
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If Zeile = 0 Then
else
For ix = 1 To Zeile
Cells(ix, Spalte).Interior.Color = Farbe(ix, Spalte)
Next ix
For iy = 1 To Spalte
Cells(Zeile, iy).Interior.Color = Farbe(Zeile, iy)
Next iy
End If
Zeile = ActiveCell.Row
Spalte = ActiveCell.Column
ReDim Farbe(Zeile, Spalte)
For ix = 1 To Zeile - 1
Farbe(ix, Spalte) = Cells(ix, Spalte).Interior.Color
If Farbe(ix, Spalte) = 16777215 Then Farbe(ix, Spalte) = -4142
Cells(ix, Spalte).Interior.Color = vbRed
Next
Farbe(ix, Spalte) = Cells(ix, Spalte).Interior.Color
If Farbe(ix, Spalte) = 16777215 Then Farbe(ix, Spalte) = -4142
For iy = 1 To Spalte - 1
Farbe(Zeile, iy) = Cells(Zeile, iy).Interior.Color
If Farbe(Zeile, iy) = 16777215 Then Farbe(Zeile, iy) = -4142
Cells(Zeile, iy).Interior.Color = vbRed
Next
Farbe(Zeile, iy) = Cells(Zeile, iy).Interior.Color
If Farbe(Zeile, iy) = 16777215 Then Farbe(Zeile, iy) = -4142
End Sub
Ich habe das Makro nur grob getestet. Im Prinzip sollte es laufen.
Gruß
Holger
Max87 schrieb am 26.02.2009 09:54:48:
Hallo zusammen
Ich habe folgendes Problem:
Für ein etwas grösseres Excel sheet brauche ich etwas für die orientierung... So will ich dies mit Farben lösen, welche von links und oben zu dem angewählten Feld kommen...
Das heisst, wenn man feld B3 anklickt, werden A3, B1 und B2 eingefäbt
So weit so gut, funktioniert auch alles
Wenn ich jetzt jedoch einen neuen Punkt anklicke, verschwinden diese Farbigen Felder nicht mehr... Das problem ist noch, dass das Excel Sheet selbst hintergrundfarben hat, und diese wieder hevorkommen sollten, wenn man ein neues Feld anklickt...
hier wäre noch mein Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
Dim Zeile
Dim Spalte
Zeile = ActiveCell.Row
Spalte = ActiveCell.Column
For ix = 1 To Zeile - 1
Cells(ix, Spalte).Interior.Color = vbRed
Next
For iy = 1 To Spalte - 1
Cells(Zeile, iy).Interior.Color = vbRed
Next
End Sub
Danke im Voraus für eure Hilfe ;) |