How To Limit Scroll Area In Excel (2 ways)

Table of Contents

Background

Often times we would like to restrict users from getting access to certain range in Excel for different reasons. This can be easily done by Restricting Scroll Area.

  • How to limit scroll area in Excel?
  • How to restrict user’s access to some area in Excel?
  • How to restrict what users can see in Excel?

In this article, I will teach you 2 ways of restricting Excel scroll area. You can choose to use either one depending on your situation.

Why would one limit scroll area?

First, sometimes you don’t need to use every cells on the sheet. You may like to make some cells invisible to keep the spreadsheet clean.

Second, in some occasions you may want to restrict the user from access to some cells so they won’t be able to mess us the calculation.

Third, some users may get lost in the spreadsheet scrolling around. It is not rare that Excel newbies find themselves at row 100000 and column CX and get confused.

Option 1 Temporary Restriction

Step 1: You have successfully enable Developer tab

Read How to Enable Developer tab in Excel? if you haven’t enable Developer tab yet.

How To Limit Scroll Area In Excel - On Developer tab, Select Properties
On Developer tab, Select Properties

Step 2: Enter a range address into the ScrollArea box

Enter a range address into the ScrollArea box
Enter a range address into the ScrollArea box

Step 3: Close the Properties window and we are done

Option 2 Permanent Restriction

Read How to Insert & Run VBA code in Excel – VBA101 if you forget how to insert VBA code in Excel.

VBA code 1 (restrict the range you specified)

Sub Set_scroll_area()
	'Change the below range address according to your wish
	Dim ws As Worksheet
	ws.ScrollArea = ws.Range("A1:J25").Address
End Sub

VBA code 2 (restrict to the used range)

Sub Set_used_area_as_scroll_area()
	Dim ws As Worksheet
	ws.ScrollArea = ws.UsedRange.Address
End Sub

VBA code 3 (restrict the used range in every worksheet)

Sub Set_used_area_as_scroll_area_in_every_worksheet()
	Dim ws As Worksheet
	For Each ws In ActiveWorkbook.Worksheets
		ws.ScrollArea = ws.UsedRange.Address
	Next
End Sub


Do you find this article helpful? Subscribe to our newsletter to get regular Excel tips and exclusive free Excel resources.

International Open Academy

Join Our Newsletters!

JOIN OUR NEWSLETTERs!