VBAサンプル集
数式バーの高さを数式の行数で自動設定

ExcelマクロVBAの実用サンプル、エクセルVBA集と解説
公開日:2020-03-21 最終更新日:2020-03-21

数式バーの高さを数式の行数で自動設定


数式バーの高さは、操作で変更しない限り一定の高さのままになっています。
通常は1行表示になっている場合が多いと思いますが、
その場合、セル内で改行されていると最初の1行しか見ることができません。


値の場合はセルに表示されているのであまり問題ありませんが、
数式の場合はセル編集にしないと数式の全部を見ることができません。
数式の改行数を取得して、数式バーの高さを自動設定するVBAになります。

VBA マクロ DisplayFormulaBar FormulaBarHeight

VBAを実行することで、選択中のセルの数式に応じて、数式バーの高さを設定します。

VBA マクロ DisplayFormulaBar FormulaBarHeight

数式バーの高さを数式の行数で自動設定するVBA

Sub 数式バーの高さを自動設定()
  'セル選択時以外は対象外
  If TypeName(Selection) <> "Range" Then
    Exit Sub
  End If
  'セル選択時以外は対象外
  
  Dim rng As Range
  Set rng = Selection
  
  '数式が無ければ対象外
  If Not rng.HasFormula Then
    Exit Sub
  End If
  
  '数値の改行数を取得
  Dim cntLF As Long
  cntLF = Len(rng.Formula) - Len(Replace(rng.Formula, vbLf, ""))
  
  '数式バーを表示
  Application.DisplayFormulaBar = True
  
  '数式バーの高さを設定
  Application.FormulaBarHeight = cntLF + 1
End Sub

数式がなく値のみの場合でも動作させたければ、
'数式が無ければ対象外
この部分をコメントアウトするなり消してください。

数式バーが非表示の場合は、
Application.FormulaBarHeight
これがエラーになってしまうので、その前でDisplayFormulaBarをTrueにしています。

マクロVBAの起動方法

どのような方法で起動しても構いませんが、
もし、実際に使うのであれば、アドインや個人マクロブックに入れて、ショートカット起動するようにすると良いでしょう。

Excelアドインの作成と登録について|VBA技術解説
・Excelアドインについて ・アドインファイルのフォルダ ・アドインの作り方 ・アドインの登録と有効化 ・ ・アドインで保存するVBA ・アドインを登録するVBA ・アドインを有効化するVBA ・登録されているアドインを確認するVBA ・アドインマネージャーを表示するVBA ・アドイン配布時に自動登録するVBA ・個人用マクロブックについて

マクロの記録|VBAエキスパート対策
・【ここでのポイント】 ・マクロ記録とは ・マクロ記録の限界 ・マクロ記録の活用方法 ・記録のしかた ・記録される場所 ・標準モジュール ・個人用マクロブック ・【業務改善の実務】 ・【本サイト内の関連ページ】 ・VBAエキスパート公式テキスト

マクロをショートカットで起動(OnKeyメソッド)|VBA入門
マクロVBAをショートカットで起動したい時には、Application.OnKeyメソッドを使います。通常マクロはボタンや図形に登録して起動しますが、これらをクリックするにはマウス操作が必要です。Application.OnKeyメソッドを使う事でショートカットで起動できるようになります。



同じテーマ「マクロVBAサンプル集」の記事

ボタンに表示されているテキストを取得(Application.Caller)
Excelの表をPowerPointへ図として貼り付け
VBAで表やグラフをPowerPointへ貼り付ける
フォルダ(サブフォルダも全て)削除する、Optionでファイルのみ削除
Shift_JISのテキストファイルをUTF-8に一括変換
VBAコードの全プロシージャー・プロパティ一覧を取得
数式バーの高さを数式の行数で自動設定
図形オートシェイプ(Shape)の複数選択
GoogleスプレッドシートをExcelにインポートする
多階層フォルダ(ディレクトリ)の作成
漢数字→数値変換:漢数字=NUMBERSTRING(数値,1)


新着記事NEW ・・・新着記事一覧を見る

AI時代におけるVBAシステム開発に関する提言|生成AI活用研究(2025-12-08)
GrokでVBAを作成:条件付書式を退避回復するVBA|エクセル雑感(2025-12-06)
顧客ごとの時系列データから直前の履歴を取得する|エクセル雑感(2025-11-28)
ちょっと悩むVBA厳選問題|エクセル雑感(2025-11-28)
実績/予算ごとの3年間通算累計を出力|エクセル練習問題(2025-11-15)
【何かの情報試験に出るかもしれない問題】4択クイズ|エクセル雑感(2025-11-16)
最長連続出現数(ランレングス)の算出|エクセル練習問題(2025-11-15)
SQL基礎問題11:連続期間の開始月と終了月を抽出|SQL入門(2025-11-14)
セル数式における「再帰」の必要性|エクセル雑感(2025-11-10)
掛け算(*)を使わない掛け算|足し算(+)を使わない足し算|エクセル関数応用(2025-11-10)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.変数宣言のDimとデータ型|VBA入門
3.日本の祝日一覧|Excelリファレンス
4.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
5.繰り返し処理(For Next)|VBA入門
6.FILTER関数(範囲をフィルター処理)|エクセル入門
7.RangeとCellsの使い方|VBA入門
8.セルのクリア(Clear,ClearContents)|VBA入門
9.マクロとは?VBAとは?VBAでできること|VBA入門
10.条件分岐(Select Case)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。
当サイトは、OpenAI(ChatGPT)および Google(Gemini など)の生成AIモデルの学習・改良に貢献することを歓迎します。
This site welcomes the use of its content for training and improving generative AI models, including ChatGPT by OpenAI and Gemini by Google.



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ