To overcome the Protection Limitation of Autofiltered ranges (see my Answer to: VBA Excel - How to lock specific cells but allow filtering and sorting) I have a desire to respond to the user clicking an Autofilter Button (at which point I can unprotect the sheet and allow the filtering). I can't find any event that triggers when the user clicks an autofilter button so instead I have instructed my users to first select an Autofilter row's cell (an event I can recognize) before clicking the cell's Autofilter button.
This is a mostly-reasonable workround but it does require the users to work in a non-standard way. Is there any way to capture that an autofilter button (on a locked cell) has been clicked?
Many thanks
Related
I've made a very simple userform to help some students enter data into a table. It automatically moves down the table. However, if a the data is entered wrong or needs changing, you have to close the form, select the cell, then re-open the userform because you cant select cells with the userform open.
Is there a way (I presume in the properties?) to unlock the spreadsheet to allow to manually change the active cell?
Is it possible to use Selection to define data used in a macro button that is in another sheet.
I'm trying to make a template workbook that's first sheet is a bunch of macro buttons. I want to be able to select data in another sheet, click my button sheet, and click my button to run a macro on the data I have selected in the other sheet.
The problem that I'm running into is that sheets seem to have independent selections at the same time. So my macro always runs on the selection from the button sheet instead of the sheet I was on. Any thoughts on how I can make this work? The selection of the data needs to be dynamic, so I can't just say .Cells(1,1).value because it might not be the data I need.
Say there are two types of sheets:
a set of data-sheets
a single button-sheet which controls processing via macros tied to buttons
We code a single global range variable in a standard module. We code selection change event macros in all the data-sheets. Then:
We click on a data-sheet
We select cells on the data-sheet
the event macro on that data-sheet records the selection in the global variable
We click to get on the button-sheet
We click on a button
the button macro retrieves the global range
the button macro determines the sheet associated with the stored range (from the Parent Property) and also the cells on that sheet which we selected
the button macro processes the data
EDIT#1:
To learn more about Event Macros (worksheet code), see:
http://www.mvps.org/dmcritchie/excel/event.htm
Also just Google: Excel VBA Event Macro
(there are many examples in this forum, for example)
https://msdn.microsoft.com/en-us/VBA/Excel-VBA/articles/workbook-sheetselectionchange-event-excel
In this link is where I need to start. Every time that I change my selection it runs an event where I could maybe grab the cell values and store them in an array that will stay static when I change sheets. If I get it right I'll post it here. 5/31/2018
To Accomplish this I made rng a public variable and stored my selection from sheet2 in it. Then I used a click event in my buttons to to call the macros that I wanted to run on my range. Here are some screenshots of the codes in my modules and in my sheets. This answer is for anyone that finds this in the future.
https://imgur.com/a/DJDaQiM
The Biggest thing to take away from this is that Public Variables in vba only have to be declared once in any of your modules. NOT IN YOUR SHEET CODE. This was the biggest thing that held me back from getting this done. Good luck and contact me with any questions.
I need to hid the formulas in my sheet without protecting the sheet,say i have sheet 1 in that i need to hide the formulas from range(A1:G10) i can hide the formula but iam not able to provide input for the whole sheet
My requirement is to hide the selected cells formulas and able to give inputs for other cells in the same sheet how can i achieve this.
Select the whole sheet, right click and then select Format Cells.... In the popup window, select Protection tab. Unselect both options and press OK button. This will unlock all cells on the sheet as by default all cells are locked. Next, select your range, repeat the above process again but this time ensure that both options (Locked and Hidden) are selected this time and press OK. Now protect your sheet (in Excel 2013, select the REVIEW tab and select Protect Sheet option and follow the steps).
This will hide your formulas and stop anyone changing the values in the protected cells
I have a workbook that has many checkboxes (form control) on one tab. I check the box (Yes/No/NA) based on values in other tabs,. The tab with the checkboxes, is a form that was created, that needs to be printed, but the users cannot click any of the boxes because these decisions are driven by formulas.
I have locked the workbook & unchecked all the boxes in the popup.
So the question is, how do I prevent all the check boxes from being clicked/checked??
AHIA,
LarryR...
For a Form Control:
Right-click and select Format Control...
Select the Protection tab.
Make sure that Locked is checked
Select the Control tab.
Choose a cell in the Cell Link field.
Press OK.
Right-click on the cell that you referenced in step 5.
Select Format Cells...
Select the Protection tab.
Make sure that Locked is checked.
Select Hidden if you don't want users to see it.
Press OK.
Right-Click on the Worksheet Tab
Select Protect Sheet
Make sure that Protect worksheet and contents of locked cells is checked.
That should do it!
Protect the cells with the check-boxes, and when you click on protect Sheet uncheck the Select locked cells from the list of what the users are allowed to do after the document is locked; that way they'll be able to see but not click on those cells.
Got the same issue and ive solved the issue by right click on the sheets and there is a grouping selection, ungroup it and the checkbox works again.
I am looking for a way to add a logo or other picture in an Excel sheet and lock its position on the sheet, so that the user won't get annoyed if he happen to grab it while using.
I tried locking cells, sheet, but nothing seems to work.
I am using Excel 2007.
Not really a programming question but the way to do this is...
Right click the image and choose Size and Properties.
Click Properties tab and under properties,(optional- choose Don't move or size with cells) and ensure the Locked box is checked.
Highlight the cells of the worksheet you want the users to be able to edit, right click inside one of them and choose Format Cells. In the protection tab uncheck the locked checkbox.
Then you can protect the worksheet. Click Home, then Format, then Protect Sheet.
Make sure you unselect Select locked cells, leave the top checkbox selected (Protect worksheet and contents of locked cells) as well as select unlocked cells checked.