Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

wirklich NUR die aktive Zelle hervorheben mit Makro

Forumthread: wirklich NUR die aktive Zelle hervorheben mit Makro

wirklich NUR die aktive Zelle hervorheben mit Makro
12.04.2026 23:46:30
Hans-Georg
Hallo Forum,
ich habe eine recht unübersichtliche Tabelle wo die Übersicht nicht wirklich gut gelungen ist. (ist leider so)

Nun habe ich mir für den Bearbeiter überlegt, die "aktive Zelle" einfach farbig zu machen.

Zuerst habe ich es über die "Bedingte Formatierung" versucht, doch dann muss man immer doppelt in die Zelle klicken, damit sie als aktiv erkannt wird.

Im Internet habe ich einiges gefunden aber leider werden dabei immer die Zeile und die Spalte markiert.

Kann mir jemand bei der Umsetzung helfen ?

Vielen lieben Dank

Hans-Georg
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Aktive Zelle hervorheben
13.04.2026 00:36:42
Sabrina
Hallo Hans-Georg

vielleicht so:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' Vorherige Hervorhebung entfernen
Cells.Interior.ColorIndex = xlNone

' Neue aktive Zelle hervorheben
Target.Interior.ColorIndex = 6 ' 6 ist gelb
End Sub

Rechtsklick auf das Tabellenblatt, Code anzeigen ....

VG Sabrina
Anzeige
wirklich NUR die aktive Zelle hervorheben mit Makro
13.04.2026 01:56:36
xlKing
Hallo Hans-Georg,

ich mache sowas mit Bedingter Formatierung, damit nicht versehentlich die Originalfarben überschrieben werden. Du musst im Vorfeld nur eine neue Regel für die Bedingte Formatierung anlegen. Wähle dort "Formel zur Ermittlung" und gib =WAHR ein. Wähle außerdem deine gewünschte Farbe.

Anschließend kannst du im entsprechenden Blattmodul folgenden Dreizeiler schreiben:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Target.Parent.Cells.FormatConditions(1).ModifyAppliesToRange Target
End Sub


Damit wird die aktuelle Markierung ("Selection") hervorgehoben. Falls du wirklich nur die aktive Zelle (auch innerhalb einer Markierung) benötigst ersetze das hintere Target durch ActiveCell.

Gruß Mr. K.

Anzeige
Aktive Zelle jervorheben
13.04.2026 06:59:11
Daniel
Hi

Am einfachsten so:

1. Folgender Code im Selection-Change-Event des Tanellenblatts:

Range("A1").value = activecell.Row

Range("B1").value = activecell.column
Application.Screenupdating = true


2. Dann für den relevanten Bereich Bedingte Format anlegen mit dieser Formel als Regel:
=und(Zeile()=$A$1;Spalte()=$B$1)


Statt der A1 und B1 kannst du natürlich auch andere Zellen nehmen.

Gruß Daniel
Anzeige
Aktive Zelle per Makro markieren
13.04.2026 16:46:56
daniel
Hi
noch eine Idee, die aktive Zelle per Makro zu markieren.

1. erstelle von Hand ein Rechteck. Dies sollte ohne Füllung sein, dafür aber mit einem deutlich sichtbaren Rahmen, möglichst dick oder mit einem schönen Effekt bespw "Leuchten"

2. im SelectionChange-Event verschiebst du dann dieses Rechteck zur aktiven Zelle und passt es in der Größe an die Zelle an (hier mit etwas Abstand zur Zelle):
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

With Me.Shapes(1)
.Top = ActiveCell.Top - 5
.Left = ActiveCell.Left - 5
.Height = ActiveCell.Height + 10
.Width = ActiveCell.Width + 10
End With
End Sub


Gruß Daniel
Anzeige
wirklich NUR die aktive Zelle hervorheben mit Makro
13.04.2026 06:42:28
Onur
Und wenn da schon bedingte Formatierungen für die aktive Zelle vorliegen?
Hierarchie
13.04.2026 18:25:55
Klexy
Dann hat die gewonnen, die weiter oben ist. Muss man sich halt entscheiden.
Man kann die Reihenfolge per VBA verändern.
wirklich NUR die aktive Zelle hervorheben mit Makro
13.04.2026 18:44:53
Onur
"Man kann die Reihenfolge per VBA verändern" ?
Aber kaum Jemand mit "Kaum Excel/VBA-Kenntnissen".
Anzeige
Vorschlag
13.04.2026 00:46:04
Alwin Weisangler
Hallo Sabrina,

ich würde, so ich es richtig verstanden habe, das Problem so erschlagen:


Sub AllesSchreiben()
Dim rng As Range, fa$, arrS(), arrE(), arrTab, i&, lz&
Set rng = Tabelle2.Columns(3).Find(What:="Nr.", LookAt:=xlWhole)
fa = rng.Address
Do
i = i + 1
ReDim Preserve arrS(1 To i)
arrS(i) = rng.Row + 1
Set rng = Tabelle2.Columns(3).FindNext(rng)
If rng Is Nothing Then Exit Do
Loop While rng.Address > fa
i = 0

Set rng = Tabelle2.Columns(11).Find(What:="Blatt:", LookAt:=xlWhole)
fa = rng.Address
Do
i = i + 1
ReDim Preserve arrE(1 To i)
arrE(i) = rng.Row - 1
Set rng = Tabelle2.Columns(11).FindNext(rng)
If rng Is Nothing Then Exit Do
Loop While rng.Address > fa

Tabelle5.Range("A7:I2000").ClearContents
For i = LBound(arrS) To UBound(arrS)
If i UBound(arrS) Then
arrTab = Application.Index(Tabelle2.Range("A" & arrS(i) & ":L" & arrE(i)), Evaluate("row(1:" & arrE(i) - arrS(i) + 1 & ")"), Array(2, 4, 7, 6, 5, 8, 12, 9, 10))
Else
lz = Tabelle2.Cells(Rows.Count, 3).End(xlUp).Row
Erase arrTab
If lz > arrS(i) Then
arrTab = Application.Index(Tabelle2.Range("A" & arrS(i) & ":L" & lz), Evaluate("row(1:" & lz - arrS(i) + 1 & ")"), Array(2, 4, 7, 6, 5, 8, 12, 9, 10))
Else
Exit Sub
End If
End If
lz = Tabelle5.Cells(Rows.Count, 3).End(xlUp).Row + 1
Tabelle5.Cells(lz, 1).Resize(UBound(arrTab), UBound(arrTab, 2)) = arrTab
Next i
End Sub


Gruß Uwe
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18