狀態欄中的有用信息

有人喜歡,但我個人僅在 2-3 種情況下需要狀態欄:

  • 過濾後顯示選擇後剩餘的值個數
  • 當選擇一個範圍時,它會顯示所選單元格的總和、平均值和數量
  • 在文件繁重的情況下,您可以在書中看到重新計算公式的進度。

對於幾乎佔據整個屏幕寬度並一直掛在屏幕上的線條來說,並沒有那麼多。 讓我們嘗試擴展這個簡單的列表並添加一些更有用的功能🙂

管理狀態欄的一般原則

使用 Visual Basic 管理狀態欄非常容易。 要在其中顯示您的文本,您可以使用一個簡單的宏:

Sub MyStatus() Application.StatusBar = "Привет!" 結束子  

運行後,我們得到:

狀態欄中的有用信息

要恢復狀態欄的原始狀態,您將需要相同的短“反宏”:

Sub MyStatus_Off() Application.StatusBar = False End Sub  

如您所見,在基本版本中,一切都非常簡單。 現在讓我們嘗試發展這個想法……

狀態欄中所選範圍的地址

 在公式欄的 Excel 窗口左上角,您始終可以看到當前單元格的地址。 但是,如果選擇了整個範圍,那麼很遺憾,我們將不會在那裡看到選擇地址 - 顯示相同的單個活動單元格:

狀態欄中的有用信息

為了解決這個問題,您可以使用一個簡單的宏,它將在狀態欄中顯示所選區域的地址。 此外,這個宏應該自動啟動,對任何工作表上的選擇進行任何更改——為此,我們將把它放在事件處理程序中 選擇變更 我們的書。

使用選項卡上的同名按鈕打開 Visual Basic 編輯器 開發人員 (開發商) 或鍵盤快捷鍵 左 Alt+F11. 在項目面板的左上角找到你的書,然後雙擊打開其中的模塊 這本書 (本工作簿):

在打開的窗口中,複製並粘貼以下宏代碼:

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

現在,當選擇任何範圍(包括多個!)時,其地址將顯示在狀態欄中:

狀態欄中的有用信息

為了防止使用 Ctrl 選擇的多個範圍的地址合併,您可以添加一個小改進 - 使用替換功能將逗號替換為帶空格的逗號:

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

狀態欄中選定單元格的數量

選中任意範圍時,默認在狀態欄右側顯示非空選中單元格的數量。 有時您需要知道分配的數量。 此任務也可以通過一個簡單的宏來完成,以處理 SelectionChange 圖書事件,如前面的示例所示。 您將需要一個宏,例如:

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 '遍歷所有選擇 RowsCount = rng.Rows.Count '行數 ColumnsCount = rng.Columns . Count '列數 CellCount = CellCount + RowsCount * ColumnsCount '累計單元格總數 Next '在狀態欄中顯示 Application.StatusBar = "Selected:" & CellCount & "cells" End Sub  

該宏循環遍歷所有Ctrl選中的區域(如果有多個),將每個區域的行數和列數存儲在RowsCount和ColumnsCount變量中,並在CellCount變量中累加單元格數,然後顯示在狀態欄中。 在工作中它看起來像這樣:

狀態欄中的有用信息

當然,您可以將這個和前面的宏結合起來,同時顯示所選範圍的地址和單元格的數量。 您只需將倒數第二行更改為:

Application.StatusBar = "已選擇:" & Replace(Selection.Address(0, 0), ",", ", ") & " - 總 " & CellCount & " 單元格"  

那麼畫面會相當精彩:

狀態欄中的有用信息

嗯,我想你明白了。 在評論中提出建議——在狀態欄中顯示還有什麼有用的?

  • 什麼是宏,它們如何工作,如何使用和創建它們
  • 在 Excel 工作表上方便地選擇坐標
  • 如何讓複雜的公式更直觀

發表評論