ウィンドウ枠の固定と解除
ウィンドウ枠を固定するには FreezePanes プロパティを True に設定します。この時、SplitColumn プロパティ で、固定する列、SplitRow プロパティで、固定する行を設定することができます。SplitColumn プロパティ、SplitRow プロパティを設定しない場合は、選択されているセルを基準にウィンドウ枠が固定されます(選択セルの上側、左側)。
ウィンドウ枠を解除するには、FreezePanes プロパティを False に設定します。ただし、SplitColumn プロパティ、SplitRow プロパティを設定している場合は、SplitColumn プロパティ、SplitRow プロパティの両方に、0 を指定するか、Split プロパティ を False に設定します。(SplitColumn プロパティ、SplitRow プロパティを設定した状態で、FreezePanes プロパティ を False に設定すると、ウィンドウが分割されてしまいます。)
「ウィンドウ枠の固定」と「ウィンドウの分割」は共存できません。「ウィンドウの分割」に関しては、ウィンドウの分割(Split プロパティ,SplitColumn プロパティ,SplitRow プロパティ) を参照してください。
ウィンドウ枠の固定
FreezePanes プロパティ
<取得>
object.FreezePanes
<設定>
object.FreezePanes = boolean
引数・戻り値
- object ・・・ 対象となる Window オブジェクトを指定します。
- boolean ・・・ True を指定するとウィンドウ枠を固定します。False を指定するとウィンドウ枠の固定を解除または、ウィンドウを分割します。
SplitColumn プロパティ・SplitRow プロパティ
<取得>
object.SplitColumn
<設定>
object.SplitColumn = c_long
<取得>
object.SplitRow
<設定>
object.SplitRow = r_long
引数・戻り値
- object ・・・ 対象となる Window オブジェクトを指定します。
- c_long ・・・ ウィンドウの固定位置を示す列数(垂直線の左側にある列の数)を指定します(長整数型(Long)の値を使用)。
- r_long ・・・ ウィンドウの固定位置を示す行数(水平線の上側にある行の数)を指定します(長整数型(Long)の値を使用)。
ウィンドウ枠の固定と解除のサンプル
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
Sub Sample01_FreezePanes() 'セル「B4」の上側の行、左側の列を固定 Range("B4").Select ActiveWindow.FreezePanes = True End Sub Sub Sample02_FreezePanes() 'ウィンドウ枠固定の解除 ActiveWindow.FreezePanes = False End Sub Sub Sample03_FreezePanes() '先頭行を固定 With ActiveWindow .SplitColumn = 0 .SplitRow = 1 End With ActiveWindow.FreezePanes = True End Sub Sub Sample04_FreezePanes() '上側5行、左側1列を固定 With ActiveWindow .SplitColumn = 1 .SplitRow = 5 End With ActiveWindow.FreezePanes = True End Sub Sub Sample05_FreezePanes() 'ウィンドウ枠の固定の解除 ActiveWindow.FreezePanes = False 'ここで、ActiveWindow.FreezePanes = False を実行するとウィンドウが分割されます。 'SplitColumn、SplitRow プロパティ に「0」を設定します。 With ActiveWindow .SplitColumn = 0 .SplitRow = 0 End With '「SplitColumn、SplitRow プロパティ」の設定の代わりに以下の設定でも 'ウィンドウ枠の固定が解除されます。 'ActiveWindow.Split = False End Sub |
実行結果
Sub Sample01_FreezePanes() を実行
Sub Sample02_FreezePanes() を実行
Sub Sample03_FreezePanes() を実行
Sub Sample04_FreezePanes() を実行
Sub Sample05_FreezePanes() を実行