№0005. Excel VBA-[ワークシート上にスクロール領域を設定する。]
Excelマクロでは、ワークシート上にスクロール領域を設定することができます。
ワークシートを、データ入力領域と表示領域などの領域に区分している時に、不用意にワークシート上の任意のセルをスクロールしないように制限する場合に設定します。
ScrollAreaプロパティ
ScrollAreaプロパティは、ワークシート上のスクロールが可能な領域を設定します。
または、現在設定されているスクロールが可能な領域を取得出来ます。
なお、ワークシート全体をスクロールが可能な領域に設定する場合(解除)は、""を設定します。
今回は、Sample_SetScrollArea()プロシージャに、次の処理を実装した例を掲載します。
※Sample_SetScrollArea()プロシージャは、任意の名前です。
Sample_SetScrollArea()プロシージャは、標準モジュールのModule1モジュール内に記述します。
- ScrollAreaプロパティに、ワークシート上のスクロールが可能な領域(例、B5:J20)を設定する。
また、Sample_ResetScrollArea()プロシージャに、スクロールが可能な領域をワークシート全体に再設定する処理を実装した例も掲載します。
※Sample_ResetScrollArea()プロシージャは、任意の名前です。
Sample_ResetScrollArea()プロシージャは、標準モジュールのModule1モジュール内に記述します。
- ScrollAreaプロパティに、ワークシート全体をスクロールが可能な領域を再設定("")する。
《ソースコード》
Option Explicit #Const DEBUG_VERSION = 1 ' 本番環境の場合は = 0 Public Sub Sample_SetScrollArea() ' スクロール可能領域の設定 Dim strScrollArea As String ' スクロール領域を格納する文字列型変数 strScrollArea = "B5:J20" ' スクロール領域の指定 ActiveSheet.ScrollArea = strScrollArea ' スクロール領域の設定 End Sub Public Sub Sample_ResetScrollArea() ' スクロール可能領域の解除 Dim strCellAddress As String ' セルアドレスを格納する文字型変数 strCellAddress = "A1:A1" ' カーソルのホームポジションの指定 With ActiveSheet .ScrollArea = "" ' スクロール領域の解除 .Range(strCellAddress).Select ' 任意のセルを指定する。 End With End Sub
update:2009.01.21
Copyright (C) 2009 S.IKE