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

ExcelマクロVBAの実用サンプル、エクセルVBA集と解説
最終更新日: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コードとVBSについて紹介します。具体的にどんなアドインを作成するかではなく、一般的なアドインの作成と登録についての概要の解説とVBAコードのサンプルになります。

マクロの記録|VBAエキスパート対策
・マクロ記録とは ・マクロ記録の限界 ・マクロ記録の活用方法 ・記録のしかた ・記録される場所 ・標準モジュール ・個人用マクロブック 【ここでのポイント】 マクロの記録の操作方法 記録されるブック 記録されないもの このあたりを押さえておけば問題ないでしょう。ただし試験は40問あるので、最低1問は必ず出題されると思っておいた方が良いでしょう。

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



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

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


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

PropertyのSetはLetでも良い|VBA技術解説(2021-03-31)
エクセル麻雀ミニゲーム|VBAサンプル集(2021-03-09)
VBA100本ノック 100本目:WEBから100本ノックのリストを取得|VBA練習問題(2021-03-03)
VBA100本ノック 魔球編:2桁の最小公倍数|VBA練習問題(2021-02-02)
Select Caseでの短絡評価(ショートサーキット)の使い方|VBA技術解説(2021-01-03)
VBA100本ノック 迷宮編:巡回セル問題|VBA練習問題(2020-12-31)
VBA100本ノック 魔球編:閉領域の塗り潰し|VBA練習問題(2020-12-16)
VBA100本ノック 魔球編:組み合わせ問題|VBA練習問題(2020-12-02)
将棋とプログラミングについて~そこには型がある~|エクセル雑感(2020-11-22)
VBA100本ノック 1本目:セルのコピー|VBA練習問題(2020-10-19)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.マクロって何?VBAって何?|VBA入門
5.Excelショートカットキー一覧|Excelリファレンス
6.繰り返し処理(For Next)|VBA入門
7.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
8.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
9.セルに文字を入れるとは(Range,Value)|VBA入門
10.とにかく書いてみよう(Sub,End Sub)|VBA入門




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


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



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