Im Folgenden werden wir ein Programm in Excel VBA suchen, die die Zeile und Spalte der aktiven Zelle hervorhebt (ausgewählte Zelle). Dieses Programm wird in Erstaunen versetzen und Ihren Chef beeindrucken.

Situation:

Highlight Active Cell in Excel VBA

Jedes Mal, wenn wir die aktive Zelle auf Sheet1 ändern, ein Makro Bedarf ausgeführt werden. Sie können dies erreichen, indem ein Arbeitsblatt Selection Ereignis zu schaffen.

  1. Öffnen Sie den Visual Basic-Editor.

  2. Klicken Sie doppelt auf Tabelle1 (Sheet1) im Projekt-Explorer.

  3. Arbeitsblatt Wählen Sie aus der linken Dropdown-Liste. Wählen Sie Selection von der rechten Dropdown-Liste.

Worksheet SelectionChange Event in Excel VBA

Fügen Sie die folgenden Codezeilen zu dem Arbeitsblatt Selection Veranstaltung:

  1. Wir erklären vier Variablen vom Typ Integer. Ein benannte rowNumberValue, eines mit dem Namen columnNumberValue, eines mit dem Namen i und ein mit dem Namen j.

Dim rowNumberValue As Integer, columnNumberValue As Integer, i As Integer, j As Integer
  1. Zunächst fügen wir die Linie, die die Hintergrundfarbe aller Zellen auf ‚No Fill‘ ändert.

Cells.Interior.ColorIndex = 0
  1. Wir initialisieren die Variable rowNumberValue mit der Zeilennummer der aktiven Zelle und die Variable columnNumberValue mit der Spaltennummer der aktiven Zelle.

rowNumberValue = ActiveCell.row

columnNumberValue = ActiveCell.column
  1. Wir markieren die Spalte blau. Das heißt: alle Zellen mit Zeilennummer kleiner oder gleich rowNumberValue und Spaltenzahl gleich columnNumberValue

For i = 1 To rowNumberValue

Cells(i, columnNumberValue).Interior.ColorIndex = 37

Next i

Erläuterung: Für dieses Beispiel (siehe Bild oben), ist gleich rowNumberValue 12 und columnNumberValue gleich 8. Die Codezeilen zwischen For und Next wird zwölfmal durchgeführt werden. Für i = 1, Farben Excel VBA die Zelle am Schnittpunkt der Zeile 1 und Spalte 8. Für i = 2, Farben Excel VBA die Zelle am Schnittpunkt der Zeile 2 und Spalte 8 usw.

Hinweis: anstelle von Color Nummer 37 (blau) können Sie jede Colornummer verwenden.

  1. In ähnlicher Weise stellen wir die Zeile blau. Das heißt: alle Zellen mit Reihenzahl gleich rowNumberValue und Spaltennummer kleiner oder gleich columnNumberValue.

For j = 1 To columnNumberValue

Cells(rowNumberValue, j).Interior.ColorIndex = 37

Next j
  1. Nun ist es Zeit, um das Programm zu testen. Laden Sie die Excel-Datei und sehen, wie die Zeile und Spalte der aktiven Zelle markiert werden jedes Mal, wenn Sie die aktive Zelle ändern.