2018年7月30日シートWorksheet.ScrollAreaプロパティスクロールが可能なセル範囲を指定するにはWorksheetオブジェクトのScrollAreaプロパティを利用します。入力できるセルの制限をしたり画面のスクロールを止めたい場合に利用します。設定はシート単位で行います。設定後は指定範囲を超えるスクロールは出来なくなります。Excelで同じことを行う機能はありませんが、ウインドウ枠の固定、不要な列の非表示、スクロールバー非表示、という手順で似たようなことは可能です。親オブジェクトにはWorksheetオブジェクトを指定します。スクロール可能範囲をRangeオブジェクトのAddressプロパティの形式(例「$A$3:$G$50」)で返します。スクロール可能範囲が未設定の場合は空文字列(“”)が返されます。スクロール可能範囲をA1形式を文字列で指定します。Rangeオブジェクトのセル範囲を指定したい場合はAddressプロパティをそのまま渡すことで設定できます。単一セルの場合は”A1′′のように指定します。範囲セルの場合は”A1:G50′′のように指定します。“”を指定するとスクロール範囲を解除します。スクロール範囲の制限を解除するには上の表にも書いていますが、スクロール範囲の制限を解除するには、ScrollAreaプロパティに空文字列を設定します。以下はアクティブシートのスクロール範囲の制限を解除するコードです。Sub入力セル範囲をスクロール範囲に制限するには入力されているセル範囲だけをスクロールできるように制限するには、ScrollAreaプロパティに設定する値にその入力セル範囲のRangeオブジェクトのAddressプロパティを渡します。入力セル範囲を指定するにはUsedRangeプロパティやCurrentRegionプロパティなどがありますが、UsedRangeプロパティが一番使い勝手がいいと思います。Sub入力セル範囲の指定方法については「VBAで編集セル範囲の選択と最終行と最終列の取得」をご参照ください。サンプルコードアクティブシートのA3セルからG50セルの範囲にスクロールを制限するサンプルです。Subスクロールの制限を行っていることを明示する私自身はスクロールの制限がかけられているシートをほとんど見たことがありません。あれ、違うな、んん???」と少し考えてしまうと思います。Excel初心者のために入力できる範囲をわかりやすくする目的などでScrollAreaプロパティを利用していることもあるとは思いますが、初心者でない人にもスクロールの制限はあまり見慣れた機能ではありません。してもスクロールの制限をする場合は、スクロールの制限をしていることを明示することを検討してください。スクロール制限が利用者への親切であったとしても、それを明示することも利用者への親切になります。ご自身が「なんなんだこれ?」「使いにくいからやめて」などと苦情を言われることの回避にもつながります。Excel作業をVBAで効率化シェアお問合わせTOPへ。