View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
Tom Ogilvy Tom Ogilvy is offline
external usenet poster
 
Posts: 27,285
Default Locking cells in Excel

use the workbook level SelectionChange event. If the user selects anything
but A1, have the code select A1. This will restrict the user to using the
scrollbars to see the rest of the spreadsheet and not being able to select
elsewhere.

Of course if the user disables macros, then this won't work, but neither
will any of your other macros.

You also might consider redesigning your worksheet so things you don't want
the user to see are on hidden sheets and only things the user should see are
on a single report worksheet or multiple report worksheets as appropriate.

Or, you could force all interaction to be done through a userform.

--
Regards,
Tom Ogilvy

"mauddib" wrote in message
...
I have a workbook with 14 sheets. Across these sheets some different
things happen:

1) At least half the sheets have queries to an external database that
auto refresh when the contents of some cells change. (EG Cell A1
changes and the Query in Cell AA1 refreshes instantly.

2) When the query updates some cells have VLOOKUP so their contents
change too.

3) There is VB code which on a sheet being activated (eg you go to
sheet 2) then any rows from 1 - 100 that dont have data are hidden.

4) There is VB code that, when cell A1 changes, Cell A2 and A3 are
updated using VB. Cell A2 receives the username of the preson who
changed cell A1 and Cell A3 gets the time and date from now().

My problem:

Im trying to lock the sheets for user editing. That is, using the
example above, the user should not be able to edit the contents (and
preferably not see the formulas in) of any cell except A1 which updates
the whole sheet.

However when i lock the sheet using the Excel protect option then the
Queries throw up all kinds of errors. When I use VB to lock the sheet
it throws up other errors. Even when i set the sheet to
userinterfaceonly = true in VB.

Ive had a few solutions so far but they only solve one problem. For
example one solution lets the queries work but not the VB hide
coloumns. or vice versa.

nothing so far has let point 4 above work!

Where to go from here????


---
Message posted from http://www.ExcelForum.com/