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にインポートする
多階層フォルダ(ディレクトリ)の作成


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

WshNetwork(ネットワークドライブの割り当て等)|VBA技術解説(2025-04-09)
TRANSLATE関数(翻訳) DETECTLANGUAGE関数(言語識別)|エクセル入門(2025-04-08)
QRコード、バーコード作成の覚え書き|エクセル関数応用(2025-04-05)
TRIMRANGE関数(セル範囲をトリム:端の空白セルを除外)|エクセル入門(2024-08-30)
正規表現関数(REGEXTEST,REGEXREPLACE,REGEXEXTRACT)|エクセル入門(2024-07-02)
エクセルが起動しない、Excelが立ち上がらない|エクセル雑感(2024-04-11)
ブール型(Boolean)のis変数・フラグについて|VBA技術解説(2024-04-05)
テキストの内容によって図形を削除する|VBA技術解説(2024-04-02)
ExcelマクロVBA入門目次|エクセルの神髄(2024-03-20)
VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.繰り返し処理(For Next)|VBA入門
4.変数宣言のDimとデータ型|VBA入門
5.RangeとCellsの使い方|VBA入門
6.ひらがな⇔カタカナの変換|エクセル基本操作
7.セルのクリア(Clear,ClearContents)|VBA入門
8.メッセージボックス(MsgBox関数)|VBA入門
9.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
10.条件分岐(Select Case)|VBA入門




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


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



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