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

Forumthread: Zeile und Spalte der aktiven Zelle markieren

Zeile und Spalte der aktiven Zelle markieren
15.06.2018 16:27:07
Johannes
Hallo zusammen,
ich möchte in einem bestimmten Arbeitsblatt, die Zeile und Spalte der aktiven Zelle markiert _ haben und zwar nur bis zur aktiven Zelle. Also nicht die komplette Spalte bzw. Zeile. Mein Code sieht bis dato wie folgt aus, bei welchem ich allerdings einen Laufzeitfehler '1004' erhalte: Die Methode'Range' für das Objekt '_Worksheet' ist fehlgeschlagen

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rng1 As Range, rng2 As Range
Set rng1 = Range("B" & Target.Row, Target.Address(0, 0))
Set rng2 = Range(Left(Target.Address(0, 0), 1) & "5", Target.Offset(-1, 0).Address(0, 0))
Union(rng1, rng2).Select
Target.Activate
End Sub
Zudem wäre es super, wenn die Zeile und Spalte bis zur aktiven Zelle gelb markiert würde. Beim Wechsel der aktiven Zelle, soll die Hintergrundfarbe wieder verschwinden.
Wäre super, wenn jemand eine Idee hat. Vielen Dank euch im Voraus.
Johannes
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Zeile und Spalte der aktiven Zelle markieren
15.06.2018 23:27:10
Barbaraa
So könnte es gehen:
Option Explicit
Private rMarkierung As Range
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rng1 As Range, rng2 As Range
If Not rMarkierung Is Nothing Then rMarkierung.Interior.Pattern = xlNone
Set rng1 = Range(Cells(Target.Row, 1), Target)
Set rng2 = Range(Cells(1, Target.Column), Target)
Set rMarkierung = Union(rng1, rng2)
rMarkierung.Interior.Color = vbYellow
End Sub
Hilft das?
LGB
Anzeige
AW: Zeile und Spalte der aktiven Zelle markieren
19.06.2018 14:16:08
Johannes
Hallo Barbara,
vorab, sorry für die späte Rückmeldung.
WOW...genau das habe ich gesucht :-) Vielen, lieben Dank.
Würde es auch noch eine Möglichkeit geben, lediglich die Auswahl von einer Zeile und einer Spalte zu erlauben? Aktuell kann ich mit gedrückter Maustaste auch noch einen ganzen Bereich markieren.
Viele Grüße,
Johannes
Anzeige
AW: Zeile und Spalte der aktiven Zelle markieren
19.06.2018 21:32:25
Barbaraa
Ja, geht.
Das Makro mit einer Zeile ergänzen. Das ganze sieht dann so aus:
Private rMarkierung As Range
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rng1 As Range, rng2 As Range
Set Target = Target.Cells(1)
If Not rMarkierung Is Nothing Then rMarkierung.Interior.Pattern = xlNone
Set rng1 = Range(Cells(Target.Row, 1), Target)
Set rng2 = Range(Cells(1, Target.Column), Target)
Set rMarkierung = Union(rng1, rng2)
rMarkierung.Interior.Color = vbYellow
End Sub
Wenn Du jetzt eine ganze Spalte oder Zeile markierst, nimmt das Makro nur die erste Zelle.
Hilft das?
LGB
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zeile und Spalte der aktiven Zelle markieren


Schritt-für-Schritt-Anleitung

Um die aktive Zeile und Spalte hervorheben zu können, benötigst du ein einfaches VBA-Skript. Folge diesen Schritten:

  1. Öffne dein Excel-Dokument und drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Wähle im Projektfenster das Arbeitsblatt aus, in dem du die aktive Zelle markieren möchtest.

  3. Kopiere den folgenden Code in das Codefenster:

    Option Explicit
    Private rMarkierung As Range
    
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        Dim rng1 As Range, rng2 As Range
        If Not rMarkierung Is Nothing Then rMarkierung.Interior.Pattern = xlNone
    
        Set rng1 = Range(Cells(Target.Row, 1), Target)
        Set rng2 = Range(Cells(1, Target.Column), Target)
    
        Set rMarkierung = Union(rng1, rng2)
        rMarkierung.Interior.Color = vbYellow
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu Excel.

  5. Teste den Code, indem du verschiedene Zellen auswählst. Die aktive Zeile und Spalte sollten nun gelb markiert werden.


Häufige Fehler und Lösungen

  • Laufzeitfehler '1004': Dieser Fehler tritt auf, wenn der Code versucht, auf einen ungültigen Bereich zuzugreifen. Stelle sicher, dass die Zelle, auf die du zugreifst, tatsächlich existiert und dass du nicht außerhalb der Arbeitsblattgrenzen arbeitest.

  • Die Zeile oder Spalte wird nicht markiert: Stelle sicher, dass das Makro aktiviert ist und du die Auswahl tatsächlich änderst. Der Code funktioniert nur, wenn du eine andere Zelle auswählst.


Alternative Methoden

Wenn du eine Lösung ohne VBA bevorzugst, kannst du die Bedingte Formatierung nutzen:

  1. Wähle den gesamten Datenbereich aus.

  2. Gehe zu Start > Bedingte Formatierung > Neue Regel.

  3. Wähle Formel zur Ermittlung der zu formatierenden Zellen verwenden und gebe folgende Formel ein:

    =ODER(ZEILE()=CELL("row");SPALTE()=CELL("col"))
  4. Wähle eine Formatierung (z.B. Hintergrundfarbe Gelb) und klicke auf OK.

Diese Methode hat jedoch ihre Einschränkungen und ist nicht so flexibel wie die VBA-Lösung.


Praktische Beispiele

Beispiel 1: Wenn du die aktive Zelle in einem großen Arbeitsblatt markierst, hilft dir der VBA-Code, die Übersicht zu behalten und die aktuelle Zeile markieren, in der du arbeitest, zu erleichtern.

Beispiel 2: In einem Arbeitsblatt mit vielen Spalten kannst du schnell sehen, welche Spalte und Zeile gerade aktiv sind, ohne die gesamte Tabelle zu scannen.


Tipps für Profis

  • Experimentiere mit verschiedenen Farben, um die aktiven Zellen an deine Bedürfnisse anzupassen.
  • Du kannst auch zusätzliche Bedingungen im VBA-Code hinzufügen, um beispielsweise die Hintergrundfarbe nur zu ändern, wenn bestimmte Kriterien erfüllt sind.
  • Achte darauf, dass du den Code für jedes Arbeitsblatt separat anpassen musst, wenn du mehrere Blätter in deiner Arbeitsmappe verwendest.

FAQ: Häufige Fragen

1. Kann ich die markierte Farbe ändern?
Ja, das kannst du. Ändere einfach vbYellow in eine andere Farbe, z.B. vbRed, im VBA-Code.

2. Funktioniert das auch in Excel Online?
Leider unterstützt Excel Online keine VBA-Makros. Du musst die Desktop-Version verwenden.

3. Wie kann ich die Auswahl auf eine Zeile und eine Spalte beschränken?
Ändere den Code so, dass nur die erste Zelle der Auswahl berücksichtigt wird:

Set Target = Target.Cells(1)

Dieser Code sorgt dafür, dass nur die erste Zelle der Auswahl in der aktiven Zeile und Spalte markiert wird.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige