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)
メニューのシートを作成して、ボタンを配置、そしてボタンにより指定シートに移動する。よくありますが、ボタン一つずつに別々(移動先のシート毎に)のマクロを作成するのは面倒です、そこで、一つのマクロで済ませる方法の紹介です。Application.Caller Application.Callerは、VBAを呼び出した方…
Excelの表をPowerPointへ図として貼り付け
・Excelの表をPowerPointへ図として貼り付けるVBA ・Excelの表をPowerPointへ図として貼り付けるVBAの解説 ・グラフをPowerPointへ貼り付け ・既にパワーポイントを開いている場合
VBAで表やグラフをPowerPointへ貼り付ける
・表やグラフをPowerPointへ貼り付けるVBA ・PowerPointを使う準備と保存終了 ・表(セル範囲)をPowerPointへ貼り付けるVBAの解説 ・グラフをPowerPointへ貼り付けるVBAの解説 ・貼り付け時のエラー対応 ・既にパワーポイントを開いている場合
フォルダ(サブフォルダも全て)削除する、Optionでファイルのみ削除
VBAでフォルダを削除するにはRmDirステートメントを使いますが、サブフォルダやファイルが入っている場合は、RmDirはエラーとなります。そこで、サブフォルダやファイルがある場合は、FileSystemObjectを使います。以下のサンプル使用時には、「ツール」→「参照設定」で、「MicrosoftScripti…
Shift_JISのテキストファイルをUTF-8に一括変換
本サイトの文字コードは開設当初からShift_JISでしたが、昨今の事情を考えてUTF-8に変更することにしました。そこで既存記事全てを一括で変換することになり、これをVBAでやりましたので、その時のマクロVBAコードを掲載しておきます。以下のVBAコードはサイトのUTF-8変更にあたり急遽作成したものですが、
VBAコードの全プロシージャー・プロパティ一覧を取得
・セキュリティについて ・VBAコードの全プロシージャー・プロパティ一覧を取得するVBAコード ・使用する場合のVBAサンプル
数式バーの高さを数式の行数で自動設定
図形オートシェイプ(Shape)の複数選択
・ワークシートの全てのShapeを選択する場合 ・ShapeオブジェクトのSelectメソッド ・ShapeRangeオブジェクト ・シート内の指定名称の図形を選択
GoogleスプレッドシートをExcelにインポートする
・スプレッドシートのURLを取得 ・ブラウザで直接ダウンロードする ・Power Queryで取り込む ・VBAでGoogleスプレッドシートをインポートする
多階層フォルダ(ディレクトリ)の作成
・多階層フォルダ(ディレクトリ)の作成 の具体例 ・Dir関数とMkDirステートメントで多階層フォルダの作成 ・FileSystemObjectで多階層フォルダの作成 ・Win32 APIで多階層フォルダの作成


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

ブール型(Boolean)のis変数・フラグについて|VBA技術解説(2024-04-05)
テキストの内容によって図形を削除する|VBA技術解説(2024-04-02)
ExcelマクロVBA入門目次|エクセルの神髄(2024-03-20)
VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)
テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)
無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)
累計を求める数式あれこれ|エクセル関数応用(2024-01-22)
複数の文字列を検索して置換するSUBSTITUTE|エクセル入門(2024-01-03)
いくつかの数式の計算中にリソース不足になりました。|エクセル雑感(2023-12-28)


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

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




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


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


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