Restrict Cursor Movement to Unprotected Cells


Q: The formulas in my worksheet use values in several input cells. I've unlocked the input cells and protected the sheet so the user can't change the formulas. Can I set things up so the cell cursor moves only to the input cells?

J. Crewes

A: Yes. You've already unlocked your input cells and ensured that all other cells are locked. By default all cells are locked, but you can change that by using the Protection tab of the Format Cells dialog box. Select the cells to be changed and choose FormatòCells. In this case, the input cells are unlocked and all other cells are locked. Protect the worksheet in Excel 97 by using WorksheetòProtect or ToolsòProtectionòProtect Sheet (you can specify a password to keep others from "unprotecting" the sheet). Once the sheet is protected, press <Tab> to move the cell pointer to the next unlocked cell. This does not prevent the user from selecting unlocked cells using the cursor keys. To make those cells unselectable, change the worksheet's EnableSelection property. Select ViewòToolbarsòControl Toolbox to display the Control Toolbox toolbar. Click the Properties button to display the Properties box for the worksheet, then click the cell labeled xlNoRestrictions and use the drop-down list to change the EnableSelection property to xlUnlockedCells. Close the Properties box. As long as the worksheet is protected, users cannot select the locked cells on the worksheet.

This procedure does not save the EnableSelection property setting with the workbook. To create a simple macro that turns this setting on when the workbook is opened, press <Alt>-<F11> to activate the Visual Basic Editor. Locate your workbook name in the Project window, and double-click it to expand its listing. Then double-click the item labelled ThisWorkbook and enter the VBA code shown in FIGURE 2.

This macro executes whenever the workbook is opened and sets the EnableSelection property of Sheet1 to

xlUnlockedCells. The technique can be circumvented by changing the EnableSelection property to its default value (xlNoRestrictions). Few users know about this dodge, however.


Category:Spreadsheets
Issue: August 2000

These Web pages are produced by Australian PC World © 2000 IDG Communications