« 複数のキーワードを含むセルを検索する | トップページ | 複数個の文字列を一括で置換する »

2020年5月 2日 (土)

ウィンドウの分割とウィンドウ枠の固定

ウィンドウの分割を手動でするには
分割したいラインの下・右のセルを選択した状態で
[表示]-[分割]をクリックします。
上記の操作で次の画像の状態になります。
Vba20200502a

グレーの線の上側,下側,左側,右側は
それぞれスクロールできます。

ウィンドウ枠の固定をするには,手動では
分割したいラインの下・右のセルを選択した状態で
[表示]-[ウィンドウ枠の固定]-[ウィンドウ枠の固定]をクリックします。
上記の操作で次の画像の状態になります。
Vba20200502b

細い線で分割された左側・上側は固定されて
スクロールできない状態になります。

ウィンドウの分割とウィンドウ枠の固定は
同時に使用することはできません。

分割を使用している状態でウィンドウ枠の固定をすると
分割箇所でウィンドウ枠の固定がされます。
逆に,ウィンドウ枠の固定を使用している状態で分割をすると
ウィンドウ枠の固定位置で分割されます。



ウィンドウの分割とウィンドウ枠の固定を
VBAで行う方法を見ていきます。

次のコードはウィンドウの分割をします。

ウィンドウの分割をするコード:

Sub macro20200502a()
'ウィンドウの分割

    With ActiveWindow
        'ウィンドウ枠の固定を解除
        .FreezePanes = False
        'ウィンドウの分割を解除
        .Split = False
    End With
   
    'ウィンドウの分割の設定
    With ActiveWindow
        .SplitRow = 2
        .SplitColumn = 1
    End With

End Sub

コードの流れを説明します。
まず,ウィンドウの分割を設定する前に
既存の設定がある場合の対策として設定を解除します。
.FreezePanes = Falseでウィンドウ枠の固定を解除,
.Split = Falseでウィンドウの分割を解除します。

ウィンドウの分割の設定は
SplitRowプロパティに分割の上側に表示したい行数,
SplitColumnプロパティに分割の左側に表示したい列数を指定します。
下のコードでは上側に2行,左側に1列を表示するよう設定します。

SplitRow,SplitColumnプロパティに0以外の値を設定すると
Splitプロパティは自動でTrueになります。

行のみ分割したい場合は
上のコードのSplitColumn=0にしてください。
同じく列のみ分割したい場合は
上のコードのSplitRow=0にしてください。



ウィンドウ枠の固定をするには上記のマクロの
.SplitColumn = 1の後に
.FreezePanes = Trueを追加して
ウィンドウ枠の固定を有効にします。

ウィンドウ枠の固定をするコード:

Sub macro20200502b()
'ウィンドウ枠の固定

    With ActiveWindow
        'ウィンドウ枠の固定を解除
        .FreezePanes = False
        'ウィンドウの分割を解除
        .Split = False
    End With
   
    'ウィンドウの分割の設定
    With ActiveWindow
        .SplitRow = 2
        .SplitColumn = 1
        .FreezePanes = True
    End With

End Sub

使用Ver:Excel For Office365

|

« 複数のキーワードを含むセルを検索する | トップページ | 複数個の文字列を一括で置換する »

コメント

この記事へのコメントは終了しました。