【VBA】スクロールできる範囲を限定する

エクセルVBAで使用するコードの備忘録。VBAでExcelワークシートのスクロール可能範囲を限定するコード。

スポンサーリンク

スクロール可能範囲

Excelワークシートにはスクロール可能範囲を設定することが可能です。スクロール可能範囲はその名の通りカーソルを移動できる範囲のことで、設定されているとその範囲外を選択することができなくなります。

スクロール可能範囲はWorksheetsオブジェクトのScrolLAreaプロパティに対して範囲を表す文字列(例えば”A1:Z60″みたいなもの)を与えることで設定できます。スクロール可能範囲を解除するにはScrollAreaプロパティの値を空文字列(””)に設定します。

サンプルコード

下記のコードは指定ワークシートにスクロール可能範囲を設定する際のサンプルです。意味はありませんが、サンプルとしてスクロール可能範囲を設定した直後に解除するコードも記載してあります。

コードを使用する際はカッコに囲まれた部分([***])を自分のプログラムに合わせて変更してください。

Public Sub SetScrollArea()
    
    '--- 設定するワークシート ---'
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Worksheets("[ワークシート名]")
    
    '--- スクロール可能範囲の設定 ---'
    ws.ScrollArea = "[アドレス(A1:Z60のような文字列)]"
    
    '--- スクロール可能範囲の解除 ---'
    ws.ScrollArea = ""
    
End Sub