誰かが好きですが、個人的には2〜3の場合にのみステータスバーが必要です:
- フィルタリング後、選択後に残っている値の数が表示されます
- 範囲を選択すると、選択したセルの合計、平均、数が表示されます
- 重いファイルの場合、ブック内の数式の再計算の進行状況を確認できます。
画面の幅のほぼ全体を占め、常に画面にぶら下がっている行の場合は、それほど多くはありません。 この控えめなリストを拡張して、さらにいくつかの便利な機能を追加してみましょう 🙂
ステータス バーを管理するための一般原則
Visual Basic でステータス バーを管理するのは非常に簡単です。 その中にテキストを表示するには、単純なマクロを使用できます。
Sub MyStatus() Application.StatusBar = "もっと!" サブ終了
実行すると、次のようになります。
ステータスバーを元の状態に戻すには、同じ短い「アンチマクロ」が必要です。
Sub MyStatus_Off() Application.StatusBar = False End Sub
基本バージョンでは、ご覧のとおり、すべてが非常にシンプルです。 それでは、アイデアを開発してみましょう…
ステータスバーの選択範囲のアドレス
数式バーの Excel ウィンドウの左上隅には、現在のセルのアドレスが常に表示されます。 しかし、範囲全体が選択されている場合、残念ながら、そこには選択アドレスが表示されません。同じ XNUMX つのアクティブなセルが表示されます。
この問題を解決するには、ステータス バーに選択した領域のアドレスを表示する単純なマクロを使用できます。 さらに、このマクロは、任意のシートで選択内容が変更されると自動的に起動される必要があります。このために、イベント ハンドラーに配置します。 選択変更 私たちの本。
タブの同じ名前のボタンを使用して、Visual Basic Editor を開きます。 開発者 (デベロッパー) またはキーボード ショートカット 左 Alt+F11. プロジェクトパネルの左上隅にあるブックを見つけて、その中のモジュールをダブルクリックして開きます 本書 (このワークブック):
開いたウィンドウで、次のマクロ コードをコピーして貼り付けます。
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Application.StatusBar = "Выделено: " & Selection.Address(0, 0) End Sub
これで、任意の範囲 (複数を含む) が選択されると、そのアドレスがステータス バーに表示されます。
Ctrl で選択された複数の範囲のアドレスがマージされないようにするために、小さな改善を追加できます。Replace 関数を使用して、コンマをスペースのあるコンマに置き換えます。
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) Application.StatusBar = "Выделено: " & Replace(Selection.Address(0, 0), ",", ", ") End Sub
ステータスバーで選択されたセルの数
任意の範囲が選択されると、デフォルトで、選択された空でないセルの数がステータス バーの右側に表示されます。 割り当てられた数を知る必要がある場合があります。 このタスクは、前の例のように、SelectionChange book イベントを処理する単純なマクロでも実行できます。 次のようなマクロが必要です。
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 変数に累積して表示します。ステータスバーで。 職場では、次のようになります。
もちろん、このマクロと前のマクロを組み合わせて、選択した範囲のアドレスとセルの数を同時に表示することもできます。 最後から XNUMX 番目の行を次のように変更するだけです。
Application.StatusBar = "選択済み: " & Replace(Selection.Address(0, 0), ",", ", ") & " - 合計 " & CellCount & " セル"
その後、写真は非常に素晴らしいものになります。
さて、私はあなたがアイデアを得ると思います。 コメントで提案してください - ステータスバーに表示すると便利な他に何がありますか?
- マクロとは、マクロのしくみ、使用方法と作成方法
- Excelシートでの便利な座標選択
- 複雑な数式をより視覚的にする方法