Nützliche Informationen in der Statusleiste

Jemand mag, aber ich persönlich brauche eine Statusleiste nur in 2-3 Fällen:

  • Nach dem Filtern wird die Anzahl der nach der Auswahl verbleibenden Werte angezeigt
  • Wenn ein Bereich ausgewählt ist, werden die Summe, der Durchschnitt und die Anzahl der ausgewählten Zellen angezeigt
  • Bei großen Dateien können Sie den Fortschritt bei der Neuberechnung von Formeln im Buch sehen.

Nicht so sehr für eine Linie, die fast die gesamte Breite des Bildschirms einnimmt und ständig daran hängt. Versuchen wir, diese bescheidene Liste zu erweitern und ihr ein paar weitere nützliche Funktionen hinzuzufügen 🙂

Allgemeine Grundsätze für die Verwaltung der Statusleiste

Die Verwaltung der Statusleiste mit Visual Basic ist sehr einfach. Um Ihren Text darin anzuzeigen, können Sie ein einfaches Makro verwenden:

Sub MyStatus() Application.StatusBar = "Abbrechen!" End Sub  

Nachdem wir es ausgeführt haben, erhalten wir:

Nützliche Informationen in der Statusleiste

Um den ursprünglichen Zustand der Statusleiste wiederherzustellen, benötigen Sie das gleiche kurze „Anti-Makro“:

Sub MyStatus_Off() Application.StatusBar = Falsches Ende Sub  

In der Basisversion ist, wie Sie sehen, alles sehr einfach. Versuchen wir nun, die Idee zu entwickeln …

Adresse des ausgewählten Bereichs in der Statusleiste

 In der oberen linken Ecke des Excel-Fensters in der Bearbeitungsleiste sehen Sie immer die Adresse der aktuellen Zelle. Aber wenn ein ganzer Bereich ausgewählt ist, sehen wir dort leider nicht die Auswahladresse – es wird dieselbe einzelne aktive Zelle angezeigt:

Nützliche Informationen in der Statusleiste

Um dieses Problem zu lösen, können Sie ein einfaches Makro verwenden, das die Adresse des ausgewählten Bereichs in der Statusleiste anzeigt. Außerdem sollte dieses Makro automatisch gestartet werden, wenn sich die Auswahl auf einem beliebigen Blatt ändert – dafür platzieren wir es im Ereignishandler Auswahländerung unser Buch.

Öffnen Sie den Visual Basic Editor über die gleichnamige Schaltfläche auf der Registerkarte Entwickler (Entwickler) oder Tastaturkürzel Linke Alt+F11. Suchen Sie Ihr Buch in der oberen linken Ecke des Projektfensters und öffnen Sie das darin enthaltene Modul mit einem Doppelklick Dieses Buch (DieseArbeitsmappe):

Kopieren Sie in dem sich öffnenden Fenster den folgenden Makrocode und fügen Sie ihn ein:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Application.StatusBar = "Выделено: " & Selection.Address(0, 0) End Sub  

Wenn jetzt ein beliebiger Bereich ausgewählt wird (einschließlich mehrerer!), wird seine Adresse in der Statusleiste angezeigt:

Nützliche Informationen in der Statusleiste

Um zu verhindern, dass die Adressen mehrerer mit Strg ausgewählter Bereiche zusammengeführt werden, können Sie eine kleine Verbesserung vornehmen – verwenden Sie die Funktion Ersetzen, um ein Komma durch ein Komma durch ein Leerzeichen zu ersetzen:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Application.StatusBar = "Выделено: " & Replace(Selection.Address(0, 0), ",", ", ") End Sub  

Anzahl der ausgewählten Zellen in der Statusleiste

Wenn ein beliebiger Bereich ausgewählt ist, wird die Anzahl der nicht leeren ausgewählten Zellen standardmäßig auf der rechten Seite der Statusleiste angezeigt. Manchmal müssen Sie die Anzahl der zugewiesenen kennen. Diese Aufgabe kann auch mit einem einfachen Makro zur Behandlung des SelectionChange-Buchereignisses wie im vorherigen Beispiel ausgeführt werden. Sie benötigen ein Makro wie:

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Dim CellCount As Variant, rng As Range For Each rng In Selection.Areas 'Iterate through all selections RowsCount = rng.Rows.Count 'Anzahl der Zeilen ColumnsCount = rng.Columns . Count 'Anzahl der Spalten CellCount = CellCount + RowsCount * ColumnsCount 'kumuliert die Gesamtzahl der Zellen Next 'Anzeige in der Statusleiste Application.StatusBar = "Selected: " & CellCount & " cells" End Sub  

Dieses Makro durchläuft alle mit Strg ausgewählten Bereiche (falls es mehr als einen gibt), speichert die Anzahl der Zeilen und Spalten in jedem Bereich in den Variablen RowsCount und ColumnsCount und akkumuliert die Anzahl der Zellen in der Variablen CellCount, die dann angezeigt wird in der Statusleiste. Auf der Arbeit sieht es so aus:

Nützliche Informationen in der Statusleiste

Natürlich können Sie dieses und die vorherigen Makros kombinieren, um sowohl die Adresse des ausgewählten Bereichs als auch die Anzahl der Zellen gleichzeitig anzuzeigen. Sie müssen nur eine vorletzte Zeile ändern in:

Application.StatusBar = "Selected: " & Replace(Selection.Address(0, 0), ",", ", ") & " - total " & CellCount & " cells"  

Dann wird das Bild ganz wunderbar:

Nützliche Informationen in der Statusleiste

Nun, ich denke, du verstehst es. Schlagen Sie in den Kommentaren vor – was wäre sonst noch nützlich, um es in der Statusleiste anzuzeigen?

  • Was sind Makros, wie sie funktionieren, wie man sie verwendet und erstellt
  • Komfortable Koordinatenauswahl auf einer Excel-Tabelle
  • Wie man komplexe Formeln visueller macht

Hinterlassen Sie uns einen Kommentar