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コードについて紹介します。具体的にどんなアドインを作成するかではなく、一般的なアドインの作成と登録についての概要の解説とVBAコードのサンプルになります。

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

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



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

入力規則のリスト入力を確認する
配色を使用したカラー設定を固定カラーに再設定
指定セルに名前定義されているか判定する
Excel2003(xls)を2007以降(xlsx,xlsm)に変換する(HasVBProject)
ハイパーリンクからファイルのフルパスを取得する
ボタンのテキスト名のシートへ移動(Application.Caller)
Excelの表をPowerPointへ図として貼り付け
フォルダ(サブフォルダも全て)削除する、Optionでファイルのみ削除
Shift_JISのテキストファイルをUTF-8に一括変換
VBAコードの全プロシージャー・プロパティ一覧を取得
数式バーの高さを数式の行数で自動設定


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

ユーザーに絶対に停止させたくない場合のVBA設定|VBA技術解説(4月1日)
CharactersプロパティとCharactersオブジェクト|VBA技術解説(3月31日)
指数近似/対数近似/累乗近似(掲載順位とCTR)|エクセル関数超技(3月31日)
練習問題32(連続数値部分を取り出し記号で連結)|VBA練習問題(3月24日)
連続数値部分を取り出し記号で連結|エクセル関数超技(3月24日)
数式バーの高さを数式の行数で自動設定|VBAサンプル集(3月21日)
LET関数(数式で変数を使う)|エクセル入門(3月21日)
スピルに対応したXSPLITユーザー定義関数(文字区切り)|VBAサンプル集(3月15日)
XMATCH関数(範囲から値を検索し一致する相対位置)|エクセル入門(3月14日)
XLOOKUP関数(範囲を検索し一致する対応項目を返す)|エクセル入門(3月14日)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
4.マクロって何?VBAって何?|VBA入門
5.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
6.変数宣言のDimとデータ型|VBA入門
7.ひらがな⇔カタカナの変換|エクセル基本操作
8.繰り返し処理(For Next)|VBA入門
9.徹底解説(VLOOKUP,MATCH,INDEX,OFFSET)|エクセル関数超技
10.セルに文字を入れるとは(Range,Value)|VBA入門




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


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



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