Thema Datum  Von Nutzer Rating
Antwort
26.02.2009 09:54:48 Max87
NotSolved
Blau Aw:VBA Zellenfarbe "rückgängig" machen
26.02.2009 11:34:39 Holger
NotSolved

Ansicht des Beitrags:
Von:
Holger
Datum:
26.02.2009 11:34:39
Views:
968
Rating: Antwort:
  Ja
Thema:
Aw:VBA Zellenfarbe "rückgängig" machen
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 ;)

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
26.02.2009 09:54:48 Max87
NotSolved
Blau Aw:VBA Zellenfarbe "rückgängig" machen
26.02.2009 11:34:39 Holger
NotSolved