ExcelのVBAでパネルをフリーズさせる方法(5つの適切な方法)

  • これを共有
Hugh West

今回は、Excelのワークシートのペインを凍結する方法として Visual Basic of Applications (VBA)。 Excel で作業しているとき、利便性と操作性の向上のためにワークシートのペインをフリーズさせる必要があることがよくあります。 今日は、これを実現する方法について説明します。 ブイビーエー .

ExcelのVBAでペインをフリーズする(クイックビュー)

 Sub Freeze_Panes_Row_and_Column() Range("C4").Select ActiveWindow.FreezePanes = True End Sub 

練習用ワークブックをダウンロードする

この練習用ワークブックをダウンロードして、この記事を読みながらエクササイズしてください。

VBA フリーズペイン.xlsm

Excelのフリーズペイン入門

Microsoft Excelでは、ペインをフリーズさせるとは、次のことを意味します。 列を凍らせる 通常は、データセットのヘッダーを含む行や列を表示するために使用されます。

例えば、以下のデータセットを見てください。 ここでは、ワークシートの行までフリーズしています。 3 ( ) とカラム B ( 製品名 ).

スクロールバーをスクロールしてワークシートを下に移動すると、行までが 3 は常に表示されます。

カラムに同じ B を右にスクロールしている間。

さて、ワークシートのペインを手動でフリーズするには、行と列のすぐ後にあるセル(Cell C4 この例では)にアクセスし フリーズペイン> フリーズペイン> フリーズペイン をExcelツールバーに追加します。

行だけを凍結させるには、行全体を選択し フリーズペイン> フリーズペイン> フリーズペイン をExcelツールバーに追加します。

同様に、列だけをフリーズさせたい場合は、列全体を選択し フリーズペイン> フリーズペイン> フリーズペイン をExcelツールバーに追加します。

⦹注記。

  • 選択 フリーズ 最上段 をクリックすると、一番上の行だけがフリーズします。
  • 同様に、以下を選択します。 最初のカラムをフリーズ をクリックすると、最初の列だけがフリーズします。

ExcelのVBAでペインをフリーズさせる5つのメソッド

ここまでで、Excelでペインをフリーズすることとは何か、そしてそれを手動で行う方法を学びました。 では、本日の本題である、ペインをフリーズする方法を ブイビーエー .

1.ExcelのVBAで行だけ凍らせる

まず、行だけを凍結させる方法として ブイビーエー .

前述したように、行だけを凍結するには、まず、凍結する行の下の行全体を選択します(Row 4 この例では)。

そして、その後に フリーズパネル コマンドを使用します。

だから ブイビーエー のコードになります。

⦹ VBAコードです。

 Sub Freeze_Panes_Only_Row() Range("C4").EntireRow.Select ActiveWindow.FreezePanes = True Range("C4").Select End Sub 

⧭出力。

このコードを実行すると、アクティブなワークシートが行までフリーズしていることがわかります。 3 .

⦹注記。

  • ここでは、セル C4 をクリックすると、行の任意のセルが選択されます。 4 必要に応じて選択してください。
  • コードの最終行 レンジ("C4").Select は、行全体の選択を解除するためのものです 4 (この行は省略可能です。

続きを読む: エクセルで最上段を凍結する方法(4つの簡単な方法)

2.ExcelのVBAで列だけを凍結させる

で行をフリーズさせる方法について見てきました。 ブイビーエー でカラムをフリーズさせる方法を見てみましょう。 ブイビーエー .

行と同様に、列だけを凍結するには、まず、凍結する列の右側の列全体を選択する必要があります(Column C この例では)。

そして、その後に フリーズパネル コマンドを使用します。

だから ブイビーエー のコードになります。

⦹ VBAコードです。

 Sub Freeze_Panes_Only_Column() Range("C4").EntireColumn.Select ActiveWindow.FreezePanes = True Range("C4").Select End Sub 

⧭出力。

このコードを実行すると、アクティブなワークシートがカラムまでフリーズしていることがわかります。 C .

⦹注記。

  • ここでは、セル C4 をクリックすると、列の任意のセルが選択されます。 C 必要に応じて選択してください。
  • コードの最終行 レンジ("C4").Select は、列全体の選択を解除するためのものです C (この行は省略可能です。

続きを読む: エクセルで2列を凍結する方法(5つのメソッド)

3.ExcelのVBAで行と列の両方をフリーズさせる

これまで、行と列を別々にフリーズさせる方法を見てきましたが、今回は行と列を一緒にフリーズさせる方法を見てみましょう。

行と列を一緒に凍結するには、凍結する行の下で、凍結する列の右側のセルを選択します(Cell C4 この例では)。

そして、その後に フリーズパネル コマンドを使用します。

だから ブイビーエー のコードになります。

⦹ VBAコードです。

 Sub Freeze_Panes_Row_and_Column() Range("C4").Select ActiveWindow.FreezePanes = True End Sub 

⧭出力。

このコードを実行すると、アクティブなワークシートが行までフリーズしていることがわかります。 3 および列 C .

⦹注記。

  • ここでは、セル C4 をクリックすると、行の下のセルが選択されます。 3 と右から列に B それはセル C4 用途に合わせてお選びください。

続きを読む: Excelで選択したペインをフリーズさせる方法(10の方法)

類似の読み物。

  • Excelで複数のペインをフリーズさせる方法(4つの基準)
  • Excelでペインをフリーズさせるキーボードショートカット(3つのショートカット)
  • エクセルで最初の3列を凍結する方法(4つの簡単な方法)

4.ExcelのVBAでペインをフリーズさせるユーザーフォームを開発する

これまで、Excelのワークシートにおいて、VBAを使用して行または列、あるいは行と列の両方をフリーズさせる方法を見てきました。

次に、すべての異なるタスクを1つのインターフェイスで実現するためのユーザーフォームを開発します。

⧭ ユーザーフォームを開発するステップバイステップ。

⦹ ステップ1:

  • プレス ALT+F11 をキーボードで入力すると ビジュアルベーシック
  • での ビジュアルベーシック エディタに移動します。 Insert> UserForm を挿入することで、新しい ユーザーフォーム .

⦹ ステップ 2:

  • 新しい ユーザーフォーム っていう ユーザーフォーム1 が作成されます。 ブイビーエー
  • の左側にある。 ユーザーフォーム を取得します。 ツールボックス っていう 制御 ツールボックスの上にマウスを置き、検索してください。 テキストボックス (テキストボックス1) 見つけた後、その上にドラッグします。 ユーザーフォーム .
  • 同様に、ドラッグ リストボックス ( リストボックス1 )の権利が発生します。 テキストボックス であり、また コマンドボタン(Commandbutton1) の右下隅に移動します。 ユーザーフォーム .表示を変更する コマンドボタン まで よっしゃー . ユーザーフォーム はこのように表示されるはずです。

⦹ ステップ 3:

を挿入してください。 モジュール ( 挿入モジュール )からは ブイビーエー ツールボックス

⦹ ステップ 4:

以下を挿入してください。 ブイビーエー のコードになります。 モジュール .

 Sub Run_UserForm() UserForm1.Caption = "Freeze Panes" UserForm1.TextBox1.Text = Selection.Address UserForm1.TextBox1.BorderStyle = fmBorderStyleSingle UserForm1.ListBox1.BorderStyle = fmListStyleOption UserForm1.ListBox1.AddItem "1.Freeze Row" UserForm1.ListBox1.AddItem "2.Freeze Column" UserForm1.ListBox1.AddItem "3.Freeze Both Row and Column"UserForm1 を読み込む UserForm1.Show End Sub 

⦹ ステップ 5:

をダブルクリックします。 コマンドボタン と表示されます。 よっしゃー というプライベートサブ。 CommandButton1_Click が開きますので、そこに以下のコードを挿入してください。

 If UserForm1.ListBox1.Selected(0) = True Then Set Rng = Selection Rng.EntireRow.Select ActiveWindow.FreezePanes = True Rng.Select Else If UserForm1.ListBox1.Selected(1) = True Then Set Rng = Selection Rng.EntireColumn.Select ActiveWindow.FreezePanes = True Rng.Select Else If UserForm1.ListBox1.Selected(2) = True ThenActiveWindow.FreezePanes = True Else MsgBox "Select At Least One.", vbExclamation End If UserForm1 Unload 

⦹ ステップ6:

同様に テキストボックス1 というプライベートサブ。 TextBox1_Change が開きますので、そこに以下のコードを挿入してください。

 Private Sub TextBox1_Change() On Error GoTo Message Range(TextBox1.Text).Select Message: Note = 5 End Sub 

⦹ ステップ 7:

あなたの ユーザーフォーム が使えるようになりました。 凍結する行の下、凍結する列の右にあるセルを選択します(Cell C4 はこちら)を実行し マクロ っていう Run_UserForm(ユーザーフォーム .

⦹ ステップ 8:

  • があります。 ユーザーフォーム が読み込まれます。 選択したセルのアドレスが表示されます ( C4 )の中に入っています。 テキストボックス 必要であれば、これを変更することができます。
  • で3つのオプションのうち、いずれかを選択します。 リストボックス ここでは、行と列の両方をフリーズさせたいので、以下のように選択しました。 行と列の両方をフリーズさせる .
  • をクリックします。 よっしゃー .

⦹ ステップ9:

ワークシートはお好みで凍らせてご利用ください(ここでは行まで凍らせています 3 および列 B ).

関連コンテンツ エクセルでフレームをフリーズさせる方法(6つのクイックテクニック)

5.Excelのフリーズペインの代替案:VBAでウィンドウを分割する

について、いろいろとお話ししてきました。 フリーズ・パン に代わる非常に便利な方法を紹介します。 フリーズ・パン をエクセルで表示させることができます。 スプリットウィンドウ コマンドを使用します。

することができます。 ActiveWindow.SplitRow または ActiveWindow.SplitColumn において ブイビーエー で、ワークシートを行単位または列単位で分割します。

例えば、ワークシートを行から分割する場合 3 、使用する。

 ActiveWindow.SplitRow = 3 

同様に、ワークシートを列から分割するには B 、使用する。

 ActiveWindow.SplitColumn = 2 

⦹ VBAコードです。

 Sub Split_Window() ActiveWindow.SplitRow = 3 ActiveWindow.SplitColumn = 2 End Sub 

⧭出力。

このコードを実行すると、アクティブなワークシートが行から分割されます。 3 と列 B .

関連コンテンツ:Excelでカスタムフリーズパネルを適用する方法(3つの簡単な方法)

覚えておきたいこと

  • 適用前 フリーズパネル をExcelで作成する必要があります。 すべてのフリーズペインの凍結を解除する それ以外の場合は フリーズパネル コマンドは動作しません。
  • があります。 フリーズパネル コマンドでは動作しません。 マージド だから 繰り広げる を適用する前に、それらを フリーズパネル コマンドがあれば、それを使用します。

結論

そこで、これらの方法を利用します。 フリーズパネル をもって ブイビーエー を適用する方法について、可能な限り説明しました。 フリーズパネル をクリックすると、Excelのワークシートの上に表示されます。 ご不明な点がありましたら、お気軽にお問い合わせください。 エクセルウィキ をご覧ください。

Hugh West は、業界で 10 年以上の経験を持つ、非常に経験豊富な Excel トレーナー兼アナリストです。彼は会計と財務の学士号と経営管理の修士号を取得しています。ヒューは教えることに情熱を持っており、理解しやすい独自の教育アプローチを開発しました。彼の Excel に関する専門知識は、世界中の何千人もの学生や専門家がスキルを向上させ、キャリアで優れた成果を上げるのに役立ってきました。 Hugh はブログを通じて知識を世界に共有し、個人や企業が潜在能力を最大限に発揮できるよう無料の Excel チュートリアルとオンライン トレーニングを提供しています。