| |
 | Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
|
Autor
|
Thema: Aktive Zelle farbig markieren (3539 / mal gelesen)
|
Starbuzz Mitglied

 Beiträge: 63 Registriert: 14.11.2014
|
erstellt am: 05. Jul. 2016 11:53 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich habe in einer Excel Tabelle die obersten Zeilen in unterschiedlichen Farben markiert. in den da drunter liegenden Zeilen müssen Eintragungen vorgenommen werden. Um den Überblick zu behalten, habe ich folgendes gefunden: Option Explicit Dim AlteFarbe As Integer, MarkierteZelle As String Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) If Target.Count > 1 Then Exit Sub ActiveSheet.Unprotect "Test" If MarkierteZelle = "" Then MarkierteZelle = Target.Address AlteFarbe = Target.Interior.ColorIndex Target.Interior.ColorIndex = 4 Else If Range(MarkierteZelle).Interior.ColorIndex = 4 Then Range(MarkierteZelle).Interior.ColorIndex = AlteFarbe End If AlteFarbe = Target.Interior.ColorIndex MarkierteZelle = Target.Address Target.Interior.ColorIndex = 4 End If ActiveSheet.Protect "Test" End Sub --------------------------------------------------------- Funktioniert wunderbar. Ich speichere also die Excel Tabelle und öffne diese danach wieder. Leider ist die zuletzt aktive Zelle in der Farbe noch markiert...wie kann man das beheben? [Den Code habe ich im Worksheet1 drinnen, weil es auch nur ein Tabellenblatt gibt] Liebe Grüße Starbuzz Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Beverly Mitglied Dipl.-Geologe (Rentner)
 
 Beiträge: 400 Registriert: 11.08.2007 Win 10 Pro, Office 97 bis Office 2016
|
erstellt am: 06. Jul. 2016 11:41 <-- editieren / zitieren --> Unities abgeben:          Nur für Starbuzz
Hi, als gedanklicher Ansatz: setze die Zellfarbe im Workbook_BeforeClose wieder zurück. Dazu müsstest du allerdings deine betreffenden Variablen in einem Modul und als Public definieren. ------------------ Bis später, Karin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Thomas Harmening Moderator Arbeiter ツ
      

 Beiträge: 2897 Registriert: 06.07.2001 Das Innerste geäussert und aufs Äusserste verinnerlicht
|
erstellt am: 12. Jul. 2016 12:43 <-- editieren / zitieren --> Unities abgeben:          Nur für Starbuzz
|
Starbuzz Mitglied

 Beiträge: 63 Registriert: 14.11.2014
|
erstellt am: 30. Jan. 2017 15:08 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich habe meine Lösung hierzu gefunden gehabt. Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) Cells.Interior.ColorIndex = xlNone With ActiveCell .EntireRow.Interior.ColorIndex = 45 '.EntireColumn.Interior.ColorIndex = 6 Target.Interior.ColorIndex = 46 End With End Sub Ich möchte dieses Makro gerne in einer Tabelle nutzen, die nach Spalten Informationen auflistet. Für den Überblick habe ich die obersten 3 Spalten farblich markiert. Leider entfernt das Makro hierbei die Farbe der gefärbten Spalten..wie kann ich das verhindern? Hat jemand eine Lösung? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Beverly Mitglied Dipl.-Geologe (Rentner)
 
 Beiträge: 400 Registriert: 11.08.2007 Win 10 Pro, Office 97 bis Office 2016
|
erstellt am: 03. Feb. 2017 10:24 <-- editieren / zitieren --> Unities abgeben:          Nur für Starbuzz
Hi, meinst du tatsächlich "die oberste 3 Spalten" oder doch eher die obersten 3 Zeilen? Falls ja, dann schränke einfach den Bereich zum Zurücksetzen der Farben ein, also anstelle der Zeile Code: Cells.Interior.ColorIndex = xlNone
diese Codezeilen:
Code: Dim lngLetzte As Long Dim intLetzte As Integer lngLetzte = Cells.Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row intLetzte = Cells.Find(What:="*", SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column Range(Cells(4, 1), Cells(lngLetzte, intLetzte)).Interior.ColorIndex = xlNone
------------------ Bis später, Karin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |