Hervorheben der aktiven Zelle, Zeile oder Spalte

Die folgenden Codebeispiele veranschaulichen Möglichkeiten zum Hervorheben der aktiven Zelle oder die Zeilen und Spalten, die die aktive Zelle enthalten. In diesen Beispielen verwenden Sie das SelectionChange-Ereignis des Worksheet-Objekts.

Beispielcode bereitgestellt von: Tom Urtis, Atlas Programming Management

Hervorheben der aktiven Zelle

Im folgenden Codebeispiel wird die Farbe in allen Zellen des Arbeitsblatts gelöscht, in dem die ColorIndex-Eigenschaft auf 0 festgelegt wird. Dann wird die aktive Zelle durch Festlegen der ColorIndex-Eigenschaft auf 8 (türkis) hervorgehoben.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Application.ScreenUpdating = False
    ' Clear the color of all the cells
    Cells.Interior.ColorIndex = 0
    ' Highlight the active cell
    Target.Interior.ColorIndex = 8
    Application.ScreenUpdating = True
End Sub

Hervorheben der gesamte Zeile und Spalte, die die aktive Zelle enthalten

Im folgenden Codebeispiel wird die Farbe in allen Zellen des Arbeitsblatts gelöscht, in dem die ColorIndex-Eigenschaft auf 0 festgelegt wird. Dann werden die gesamte Zeile und Spalte mit der aktiven Zelle mithilfe der Eigenschaften EntireRow und EntireColumn hervorgehoben.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Cells.Count > 1 Then Exit Sub
    Application.ScreenUpdating = False
    ' Clear the color of all the cells
    Cells.Interior.ColorIndex = 0
    With Target
        ' Highlight the entire row and column that contain the active cell
        .EntireRow.Interior.ColorIndex = 8
        .EntireColumn.Interior.ColorIndex = 8
    End With
    Application.ScreenUpdating = True
End Sub

Hervorheben der Zeile und Spalte, die die aktive Zelle enthalten, innerhalb der aktuellen Region

Im folgenden Codebeispiel wird die Farbe in allen Zellen des Arbeitsblatts gelöscht, in dem die ColorIndex-Eigenschaft auf 0 festgelegt wird. Dann werden die Zeile und Spalte mit der aktiven Zelle innerhalb der aktuellen Region mithilfe der CurrentRegion-Eigenschaft des Range-Objekts hervorgehoben.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    ' Clear the color of all the cells
    Cells.Interior.ColorIndex = 0
    If IsEmpty(Target) Or Target.Cells.Count > 1 Then Exit Sub
    Application.ScreenUpdating = False
    With ActiveCell
        ' Highlight the row and column that contain the active cell, within the current region
        Range(Cells(.Row, .CurrentRegion.Column), Cells(.Row, .CurrentRegion.Columns.Count + .CurrentRegion.Column - 1)).Interior.ColorIndex = 8
        Range(Cells(.CurrentRegion.Row, .Column), Cells(.CurrentRegion.Rows.Count + .CurrentRegion.Row - 1, .Column)).Interior.ColorIndex = 8
    End With
    Application.ScreenUpdating = True
End Sub

Über den Autor

MVP Tom Urtis ist Gründer von Atlas Programming Management, einem im Silicon Valley ansässigen Full-Service-Unternehmen, das Microsoft Office- und Excel-Unternehmenslösungen entwickelt. Tom Urtis hat mehr als 25 Jahre Erfahrung in Unternehmensführung und der Entwicklung von Microsoft Office-Anwendungen und ist Mitautor von „Holy Macros! It's 2,500 Excel VBA Examples“.

Support und Feedback

Haben Sie Fragen oder Feedback zu Office VBA oder zu dieser Dokumentation? Unter Office VBA-Support und Feedback finden Sie Hilfestellung zu den Möglichkeiten, wie Sie Support erhalten und Feedback abgeben können.