目次
今回は、Excelのワークシートのペインを凍結する方法として Visual Basic of Applications (VBA)。 Excel で作業しているとき、利便性と操作性の向上のためにワークシートのペインをフリーズさせる必要があることがよくあります。 今日は、これを実現する方法について説明します。 ブイビーエー .
ExcelのVBAでペインをフリーズする(クイックビュー)
Sub Freeze_Panes_Row_and_Column() Range("C4").Select ActiveWindow.FreezePanes = True End Sub
練習用ワークブックをダウンロードする
この練習用ワークブックをダウンロードして、この記事を読みながらエクササイズしてください。
VBA フリーズペイン.xlsmExcelのフリーズペイン入門
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のワークシートの上に表示されます。 ご不明な点がありましたら、お気軽にお問い合わせください。 エクセルウィキ をご覧ください。