Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1544to1548
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zelle auswählen -> Farbe ändern

Zelle auswählen -> Farbe ändern
07.03.2017 10:36:41
Nati
Hallo zusammen,
ich komme über einen Hyperlink von einem Sheet zu einem anderen Sheet. Wenn die Zelle des anderen Sheets ausgewählt wurde, soll sich die Farbe der Zelle ändern( nur diese Zelle soll die Farbe ändern, alle anderen Zellen sollen die Standardformatierung beibehalten. Wenn ich dann von dem Hyperlink zu einer anderen Zelle komme, soll die davor ausgewählte Zelle wieder die Standardformatierung behalten.
D.h. die Farbe soll sich nur ändern, wenn man die Zelle auswählt. Mein Vorschlag:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Cells.Count = 1 And IsEmpty(Target) Then Target.Interior.Color = vbBlue
End Sub

--> hier passiert gar nix -.-
oder:

Sub Worksheet_SelectionChange(ByVal Target As Range)
Rows.Interior.ColorIndex = xlColorIndexNone
Target.EntireColumn.Interior.ColorIndex = 36
Target.EntireRow.Interior.ColorIndex = 36
End Sub

--> hier sind die Zellen dann aber alle weiß, durch die erste zeile.
Liebe Grüße
Nathalie

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelle auswählen -> Farbe ändern
07.03.2017 10:52:45
Werner
Hallo Nathalie,
Private Sub Worksheet_Deactivate()
Cells.Interior.ColorIndex = xlNone
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
Cells.Interior.ColorIndex = xlNone
Target.Interior.Color = vbBlue
End Sub
Beim Verlassen des Blattes wird die Zellfarbe zurückgesetzt. Das betrifft aber die Färbung des kompletten Blattes.
Gruß Werner
AW: Zelle auswählen -> Farbe ändern
07.03.2017 11:17:26
Nati
Hallo Werner,
vielen Dank! Der Code funktioniert, allerdings werden die Zellen alle weiß (außer die ausgewählte Zelle). Ich möchte gerne, dass die anderen Zellen die Standardfarben beibehalten.
Hättest du einen Vorschlag?
LG Nathalie
Anzeige
AW: Zelle auswählen -> Farbe ändern
07.03.2017 14:27:01
Nati
Werner, das xlNone entfernt den Hintergrund. Die Linien bleiben erhalten. Wie kann ich erreichen, dass die Hintergrundfarbe der anderen Zellen bestehen bleibt ?
AW: Zelle auswählen -> Farbe ändern
08.03.2017 07:42:59
Werner
Hallo Nathalie,
ich habe hier einen Code von Hajo Ziplies gefunden der deinen Anforderungen entsprechen dürfte.
Das hier in ein allgemeines Modul:
Nur ein Modul anlegen und den Code reinkopieren, bitte keine Prozedur im Modul anlegen.
Option Explicit
Public OldColorIndex As Variant
Public OldRange As String
Public Register As String
Diesen Code ins Code-Modul von "Diese Arbeitsmappe" kopieren
Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
If OldRange  "" Then ActiveSheet.Range(OldRange).Interior.ColorIndex = OldColorIndex
End Sub
Private Sub Workbook_Open()
OldRange = ActiveCell.Address
Register = ActiveSheet.Name
OldColorIndex = ActiveCell.Interior.ColorIndex
ActiveCell.Interior.ColorIndex = 33
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
OldRange = ActiveCell.Address
OldColorIndex = ActiveCell.Interior.ColorIndex
ActiveCell.Interior.ColorIndex = 33
Register = ActiveSheet.Name
End Sub
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
If OldRange  "" Then Worksheets(Register).Range(OldRange).Interior.ColorIndex =  _
OldColorIndex
End Sub
Diesen Code ins Code Modul von dem Arbeitsblatt, auf dem er sich auswirken soll
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'   Beim 1. Aufruf ist OldRange noch undefiniert
If OldRange = "" Then
OldRange = Target.Address
OldColorIndex = Target.Interior.ColorIndex
'       Setze Hintergrundfarbe der aktiven Selection auf Blau
Target.Interior.ColorIndex = 33
Else
'       Setze alten Range auf alte Farbe
If Range(OldRange).Interior.ColorIndex = 33 Then
Range(OldRange).Interior.ColorIndex = OldColorIndex
End If
OldColorIndex = Target.Interior.ColorIndex
'       Merke mir aktuellen Adresse für nächsten Aufruf
OldRange = Target.Address
'       Setze Hintergrundfarbe der aktiven Selection auf Blau
Target.Interior.ColorIndex = 33
End If
End Sub
Hier auch noch der Link zum Beitrag: https://www.herber.de/forum/archiv/168to172/168267_VBA_Zellen_hervorheben.html#168267
Gruß Werner
Anzeige

321 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige