Koordinatenauswahl

Sie haben einen großen Monitor, aber die Tische, mit denen Sie arbeiten, sind noch größer. Und wenn Sie auf der Suche nach den erforderlichen Informationen über den Bildschirm schauen, besteht immer die Möglichkeit, dass Sie in die nächste Zeile „rutschen“ und in die falsche Richtung schauen. Ich kenne sogar Leute, die für solche Gelegenheiten immer ein Holzlineal in der Nähe haben, um es an der Linie des Monitors zu befestigen. Technologien der Zukunft! 

Und wenn die aktuelle Zeile und Spalte hervorgehoben werden, wenn sich die aktive Zelle über das Blatt bewegt? Eine Art Koordinatenauswahl wie folgt:

Besser als ein Lineal, oder?

Es gibt mehrere Möglichkeiten unterschiedlicher Komplexität, dies zu implementieren. Jede Methode hat ihre Vor- und Nachteile. Schauen wir sie uns im Detail an.

Methode 1. Offensichtlich. Makro, das die aktuelle Zeile und Spalte hervorhebt

Der naheliegendste Weg, unser Problem „auf der Stirn“ zu lösen – wir brauchen ein Makro, das die Änderung der Auswahl auf dem Blatt verfolgt und die gesamte Zeile und Spalte für die aktuelle Zelle auswählt. Wünschenswert ist auch, diese Funktion bei Bedarf aktivieren und deaktivieren zu können, damit uns eine solche kreuzförmige Auswahl nicht daran hindert, beispielsweise Formeln einzugeben, sondern nur funktioniert, wenn wir die Liste auf der Suche nach dem Notwendigen durchsuchen Information. Dies bringt uns zu den drei Makros (auswählen, aktivieren und deaktivieren), die dem Blattmodul hinzugefügt werden müssen.

Öffnen Sie ein Blatt mit einer Tabelle, in der Sie eine solche Koordinatenauswahl erhalten möchten. Klicken Sie mit der rechten Maustaste auf die Blattregisterkarte und wählen Sie den Befehl aus dem Kontextmenü Quellentext (Quellcode).Das Visual Basic-Editor-Fenster sollte geöffnet werden. Kopieren Sie diesen Text dieser drei Makros hinein:

Dim Coord_Selection As Boolean 'Globale Variable für Auswahl ein/aus Sub Selection_On() 'Makro bei Auswahl Coord_Selection = True End Sub Selection_Off() 'Makro aus Auswahl Coord_Selection = False End Sub 'Hauptprozedur, die die Auswahl durchführt Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim WorkRange As Range If Target.Cells.Count > 1 Then Exit Sub 'wenn mehr als 1 Zelle ausgewählt ist, beenden Sie If Coord_Selection = False Then Exit Sub 'wenn Auswahl ausgeschaltet ist, beenden Sie Application.ScreenUpdating = False Set WorkRange = Range (" A6:N300") 'Adresse des Arbeitsbereichs, innerhalb dessen die Auswahl sichtbar ist  

Ändern Sie die Adresse des Arbeitsbereichs in Ihre eigene - innerhalb dieses Bereichs funktioniert unsere Auswahl. Schließen Sie dann den Visual Basic-Editor und kehren Sie zu Excel zurück.

Drücken Sie die Tastenkombination ALT + F8, um ein Fenster mit einer Liste verfügbarer Makros zu öffnen. Makro Auswahl_Ein, wie Sie sich vorstellen können, enthält die Koordinatenauswahl auf dem aktuellen Blatt und das Makro Auswahl_Aus – schaltet es aus. Klicken Sie im selben Fenster auf die Schaltfläche Parameter (Optionen) Sie können diesen Makros zum einfachen Starten Tastaturkürzel zuweisen.

Vorteile dieser Methode:

  • relativ einfache Umsetzung
  • Auswahl – die Operation ist harmlos und ändert in keiner Weise den Inhalt oder die Formatierung der Blattzellen, alles bleibt wie es ist

Nachteile dieser Methode:

  • Eine solche Auswahl funktioniert nicht richtig, wenn es verbundene Zellen auf dem Blatt gibt – alle Zeilen und Spalten, die in der Vereinigung enthalten sind, werden auf einmal ausgewählt
  • Wenn Sie versehentlich die Entf-Taste drücken, wird nicht nur die aktive Zelle gelöscht, sondern der gesamte ausgewählte Bereich, dh es werden Daten aus der gesamten Zeile und Spalte gelöscht

Methode 2. Original. CELL + Bedingte Formatierungsfunktion

Diese Methode scheint mir, obwohl sie einige Nachteile hat, sehr elegant zu sein. Um etwas nur mit den integrierten Excel-Tools zu implementieren, ist der Einstieg in die Programmierung in VBA minimal Kunstflug 😉

Die Methode basiert auf der Verwendung der CELL-Funktion, die viele verschiedene Informationen zu einer bestimmten Zelle liefern kann – Höhe, Breite, Zeilen-Spalten-Nummer, Zahlenformat usw. Diese Funktion hat zwei Argumente:

  • ein Codewort für den Parameter, z. B. „Spalte“ oder „Zeile“
  • die Adresse der Zelle, für die wir den Wert dieses Parameters bestimmen wollen

Der Trick besteht darin, dass das zweite Argument optional ist. Wenn es nicht angegeben ist, wird die aktuell aktive Zelle genommen.

Die zweite Komponente dieser Methode ist die bedingte Formatierung. Mit dieser äußerst nützlichen Excel-Funktion können Sie Zellen automatisch formatieren, wenn sie bestimmte Bedingungen erfüllen. Wenn wir diese beiden Ideen zu einer kombinieren, erhalten wir den folgenden Algorithmus zur Implementierung unserer Koordinatenauswahl durch bedingte Formatierung:

  1. Wir selektieren unsere Tabelle, also jene Zellen, in denen zukünftig die Koordinatenauswahl angezeigt werden soll.
  2. Öffnen Sie in Excel 2003 und älter das Menü Format – Bedingte Formatierung – Formel (Format – Bedingte Formatierung – Formel). In Excel 2007 und neuer – klicken Sie auf die Registerkarte Startseite (Home)Taste im nun erscheinenden Bestätigungsfenster nun wieder los. Bedingte Formatierung – Regel erstellen (Bedingte Formatierung – Regel erstellen) und wählen Sie den Regeltyp aus Verwenden Sie eine Formel, um zu bestimmen, welche Zellen formatiert werden sollen (Formel verwenden)
  3. Geben Sie die Formel für unsere Koordinatenauswahl ein:

    =ODER(ZELLE(„Zeile“)=ZEILE(A2),ZELLE(“Spalte“)=SPALTE(A2))

    =ODER(ZELLE(«Zeile»)=ZEILE(A1),ZELLE(«Spalte»)=SPALTE(A1))

    Diese Formel prüft, ob die Spaltennummer jeder Zelle in der Tabelle mit der Spaltennummer der aktuellen Zelle übereinstimmt. Ebenso bei Säulen. Daher werden nur die Zellen ausgefüllt, die entweder eine Spaltennummer oder eine Zeilennummer haben, die mit der aktuellen Zelle übereinstimmt. Und das ist die kreuzförmige Koordinatenauswahl, die wir erreichen wollen.

  4. Presse Unser Ansatz (Format) und legen Sie die Füllfarbe fest.

Alles ist fast fertig, aber es gibt eine Nuance. Tatsache ist, dass Excel eine Änderung der Auswahl nicht als Änderung der Daten auf dem Blatt betrachtet. Und als Ergebnis löst es die Neuberechnung von Formeln und das Umfärben der bedingten Formatierung nur dann nicht aus, wenn sich die Position der aktiven Zelle ändert. Lassen Sie uns daher dem Blattmodul ein einfaches Makro hinzufügen, das dies tut. Klicken Sie mit der rechten Maustaste auf die Blattregisterkarte und wählen Sie den Befehl aus dem Kontextmenü Quellentext (Quellcode).Das Visual Basic-Editor-Fenster sollte geöffnet werden. Kopieren Sie diesen Text dieses einfachen Makros hinein:

Private Sub Worksheet_SelectionChange(ByVal Target As Range) ActiveCell.Calculate End Sub  

Wenn sich nun die Auswahl ändert, wird der Prozess der Neuberechnung der Formel mit der Funktion gestartet CELL in der bedingten Formatierung und überschwemmen die aktuelle Zeile und Spalte.

Vorteile dieser Methode:

  • Die bedingte Formatierung beeinträchtigt nicht die benutzerdefinierte Tabellenformatierung
  • Diese Auswahloption funktioniert ordnungsgemäß mit verbundenen Zellen.
  • Kein Risiko, dass bei einem versehentlichen Klick eine ganze Zeile und Spalte mit Daten gelöscht wird Löschen.
  • Makros werden minimal verwendet

Nachteile dieser Methode:

  • Die Formel für die bedingte Formatierung muss manuell eingegeben werden.
  • Es gibt keine schnelle Möglichkeit, eine solche Formatierung zu aktivieren/deaktivieren – sie ist immer aktiviert, bis die Regel gelöscht wird.

Methode 3. Optimal. Bedingte Formatierung + Makros

Goldene Mitte. Wir verwenden den Mechanismus zum Verfolgen der Auswahl auf dem Blatt mithilfe von Makros aus Methode 1 und fügen sichere Hervorhebungen hinzu, indem wir bedingte Formatierung aus Methode 2 verwenden.

Öffnen Sie ein Blatt mit einer Tabelle, in der Sie eine solche Koordinatenauswahl erhalten möchten. Klicken Sie mit der rechten Maustaste auf die Blattregisterkarte und wählen Sie den Befehl aus dem Kontextmenü Quellentext (Quellcode).Das Visual Basic-Editor-Fenster sollte geöffnet werden. Kopieren Sie diesen Text dieser drei Makros hinein:

Dim Coord_Selection As Boolean Sub Selection_On() Coord_Selection = True End Sub Sub Selection_Off() Coord_Selection = False End Sub Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim WorkRange As Range, CrossRange As Range Set WorkRange = Range("A7:N300") If Target.Count > 1 Then Exit Sub Wenn Coord_Selection = False Then WorkRange.FormatConditions.Delete Exit Sub End If Application.ScreenUpdating = False If Not Intersect(Target, WorkRange) Is Nothing Then Set CrossRange = Intersect( WorkRange, Union(Target.EntireRow, Target.EntireColumn)) WorkRange.FormatConditions.Delete CrossRange.FormatConditions.Add Type:=xlExpression, Formula1:="=1" CrossRange.FormatConditions(1).Interior.ColorIndex = 33 Target.FormatConditions .Ende löschen, wenn Endsub  

Vergessen Sie nicht, die Adresse des Arbeitsbereichs in Ihre Tabellenadresse zu ändern. Schließen Sie den Visual Basic-Editor und kehren Sie zu Excel zurück. Um die hinzugefügten Makros zu verwenden, drücken Sie die Tastenkombination ALT + F8  und gehen Sie genauso vor wie bei Methode 1. 

Methode 4. Schön. FollowCellPointer-Add-on

Excel MVP Jan Karel Pieterse aus den Niederlanden verschenkt auf seiner Website ein kostenloses Add-on CellPointer folgen(36Kb), das das gleiche Problem löst, indem es mithilfe von Makros grafische Pfeillinien zeichnet, um die aktuelle Zeile und Spalte hervorzuheben:

 

Schöne Lösung. Stellenweise nicht ohne Störungen, aber auf jeden Fall einen Versuch wert. Laden Sie das Archiv herunter, entpacken Sie es auf die Festplatte und installieren Sie das Add-on:

  • in Excel 2003 und älter – über das Menü Service – Add-ons – Übersicht (Extras – Add-Ins – Durchsuchen)
  • in Excel 2007 und höher, durch Datei – Optionen – Add-Ons – Gehe zu – Durchsuchen (Datei – Excel-Optionen – Add-Ins – Gehe zu – Durchsuchen)

  • Was sind Makros, wo Makrocode in Visual Basic einzufügen

 

Hinterlassen Sie uns einen Kommentar