I'm looking for a macro that only selects the unprotected cells in a range. So that I can copy a formula in these cells.
I found the below macro on the web but it will select all the unprotected cells in the worksheet. I guess this one can easily be adjusted to only select the cells in a range, but I do not know how to do this.
Sub SelectUnlockedCells() Dim WorkRange As Range Dim FoundCells As Range Dim Cell As Range Set WorkRange = ActiveSheet.UsedRange For Each Cell In WorkRange If Cell.Locked = False Then
I am trying to select all unlock cells in the active sheet. However, my method checks through each cell in the sheet and it takes too long.
Sub SelectUnlockedCells() Dim rng As Range
If IsNull(Cells.Locked) Then 'if null then there is unlocked cells For Each c In cells If c.Locked = False Then If rng Is Nothing Then Set rng = c Else Set rng = Union(rng, c) End If End If Next c Else End If
Ok I've spent over 2 hours reading MANY peoples issues with this "BUG". Back in 2003 was the earliest... no one has an answer that works.
When you protect a worksheet and only have UNLOCKED CELLS selected...somehow through loading and unloading the file... you can select locked cells.... I can not find a pattern but many people have had this issue all with no concrete answers.
Just by loading and saving, exit and loading and saving, exit and loading.... i can now select locked cells that I previously couldn't. (I can't do anything as it's still protected...) It's a pain because it wrecks my tab flow.
Is there a function or VBA out there that would allow me to transpose non-contiguous cells? For example, say I want to transpose ther contents from cells A1, C1, E1, G1, and I1 on worksheet 1 to A1:A5 on worksheet 2.
I am working with several columns of data, and each column's range is stored in a range array. My program needs to use a specififc combination of the columns as the second argument sent to the regress function. In certain cases, the columns I am referencing are not contiguous, so the function won't work. Here's an example:
Suppose we're working with 3 independent variables (a simple case) whose data is stored in three contiguous columns named x1, x2, and x3. The program I've written will call the regress function 6 times: once using x1, once using x2, once using x3, once using the union of x1 and x2, once using the union of x1 and x3, once using the union of x2 and x3, and once using the union of x1, x2, and x3. Suppose the range for x1 is d5:d18, the range for x2 is e5:e18, and the range for x3 is f5:f18. Also, each union of ranges is stored as one element in an array called Combos, which is sent to the regress function.
The regress function returns an error when prompted to calculate regression stats for columns x1 and x3 because they aren't contiguous. I need to know if there is some sort of way around this. write a procedure that will detect if the ranges being input to the regress function are contiguous, and if they are not, copy them to a new worksheet so they will be contiguous and then send the new range references to the regress function for calculation purposes? Is there an easier way around this issue? If I can't get this to work, my entire program is wasted.
1.I need to protect certain locked cells from editing and allow certain unlocked cells to be changed on multiple worksheets.
2.When all of the changes are made to the unlocked cells, I need to password protect the entire workbook (except one worksheet) from any changes. (i.e. Prevent even the unlocked cells from being edited)
3.I also need a password to un-protect the workbook and return it to the state described in # 1. above .
I am looking for a code that will clear all of my unlocked cell in sheet 1. That is not a problem but since many of the cells are merged I know it keeps throwing me an error saying cannot change contents of merged cells or something like that. Does anyone know how to get around this without unmerging the cells. I saw a code to unmerge all of the cells on a sheet but I really don't want to do this as I already have worked around most of my problems with the merged cells.
I have a spreadsheet that has mostly locked cells but randomly placed unlocked cells.
The sheet is completed, often saved and printed. We then go back into it and use it for another customer calculation and need to ensure all previous entries are removed. With the locked cells you can't simply highlight an area to clear so I am wondering if there is a way to clear the unlocked cells in one step other than entering on each on to clear.
Would there be any way that if we cleared the first cell the others would clear?
Is there any code to change unlocked cells to locked.. I have worksheets for each month which are protected with unlocked cells. At the end of the month I need to go into the worksheet unprotect it and run a macro to change the unlocked cells to locked so I can protect it again. This is to preserve the data entered into the cells.
I have a locked spreadsheet with unlocked cells and checkboxes. The unlocked cells is for the user to enter text. The user navigation is top to botton in column a in sequential order by row.
For example: I have an unlocked cell in A1, then 20 checkboxes from A2:A21 and then another unlocked cell in A22. My problem is that when the user types text in A1 and hits ENTER - the cursor jumps to A22 (the next unlocked cell and scrolls the screen down accordingly. The user then has to scroll back up to select the checkbox in A2 and so on down to A22 before typing in A22.
I have created a command button that floats...that ultimately I would like the user to be able to select after typing in an unlocked cell(instead of hitting ENTER) and it removes the cursor from the unlocked cell - leaving the text entered - freeing the user to select checkboxes because excel didn't advance to the next unlocked cell.
I have a workbook with a series of sheets that have tables for entering data. The table row and column labels and formulas in certain cells of each sheet are locked and some sheets are hidden.
When opening the file I want to clear all cell contents (interior color, comments, data, etc) in all the unlocked cells on each sheet that is not hidden.
I tried protecting the sheets first so only the unlocked cells would be accessible, but when I run the code below I get an error saying that the clear contents etc. cannot be performed because the sheet is protected. If it is not protected, everything gets wiped out.
How can I keep the locked stuff but clear the unlocked cells?
For Each ws In ThisWorkbook.Worksheets If ws.Visible = xlSheetVisible Then
ws.Protect Password:="aaa" 'Protect each sheet ws.Cells.ClearContents 'clear content of any unprotected cells ws.Cells.ClearComments 'clear any cell comments ws.Cells.Interior.ColorIndex = 0 'set background colour to no fill Active.Cells.Range ("a1") 'make the active cell the top left
I'm using Microsoft Excel 2008 for Mac version 12.2.0 (090605) (Mac OS 10.5).
I created a sheet, selected some cells to be locked and others to be unlocked (using Format > Cells), then I used Tools > Protection > Protect Sheet (choosing Contents only, not Objects or Scenarios). This has the desired effect of protecting the locked cells from users accidentally typing changes and overwriting their current contents.
I can still enter new data in the unlocked cells as expected, but unexpectedly I cannot change the formatting of unlocked cells (e.g., shading, font - bold). These are *unlocked* cells so even if the sheet is protected, why can't I change the formatting for them? It is too tedious to Unprotect the sheet every time I need to change formatting of an unlocked cell.
I have zero experience with Visual Basic and can't even find options that others have described (e.g., right clicking the sheet name does not yield "Show code" and Tools > Macros does not yield anything comprehensible about VBA). So if your suggestions involve something complex, please do include detailed instructions!
When unprotected my spreadsheet is working fine (apart from the fact that my users can do anything anywhere!) However, as soon as I protect it I am getting a mouse cursor that looks like its hovering over a clickable button? This is odd as the area that its hovering over contains unlocked cells?
Then when I click one of the unlocked cells I get a message box that tells me that Excel cannot locate a macro? Its as though there is a macro being invoked by a click on the screen almost anywhere? as allowing full access only to certain ranges of cells is a pre-req for my project. my file is double the allowable attachable size so I have not attached it.
I have users that are using a protected Excel Workbook where they sometimes have a need to copy values from Internet Explorer paste them into the protected Excel Workbook. When this happens, if the users select the cell and don't actually paste the text into the formula bar (or by double clicking the cell), they can replace the destination cell's formatting - which in this case makes the cells a locked cell instead of a unlocked cell.
Now is there a way to automatically have the pasted value keep the destination formatting? Or perhaps is there a way to set the copy and paste settings so it only pastes text from Internet Explorer into Excel and not the formats?
It is not an option for the userbase to select the option choice of matching the destination formating when pasting as it is a very large user base without much Excel experience.
I have a workbook with a protected sheet, some cells locked others unlocked, which the users continually update. The problem is some of the unlocked cells are becoming locked, preventing the users from carrying out their role.
I couldn't figure out how they were doing this until I saw Powered Convoy's thread Prevent Unlocked Cells Becoming Locked Via Copy/Paste. This occurs when pasting from another application.
My question is as the title, how best to prevent unlocked cells in a protected sheet from being locked by the user?
I could try to write VBA to intercept all the different ways of pasting data, 5 that I can think of, but was hoping someone else has come across this flaw and has a better or easier solution.
I have a spreadsheet that is very large and formated a certain way. I want to make sure that a user cant put the cursor in the lower left corner and copy cells by dragging, copy & paste, or do anything other than input data and be able to highleght text and reinput data in case they mistyped or misspelled the data.
ex: user clicks on cell E33 and types in '1234568' and then move to next cell. The user can click back on E33 and can correct by retyping. That is all the user is allowed. The cells in question are also in ranges if this helps. EX: 'E33:AJ67'
Why the following code gives me an error. I have so much trouble with ranges, I use the syntax as it is prescribed. Here is the code. I will include some code lines underneath since I imagine they wont work either.
I eventually will be turning the range statements into copy and paste instead of select. At the moment I am using select to make sure the proper cells are being selected.
I have a series of data values in non-adjacent columns in an excel spreadsheet.
In the following example, assume the | (vertical bar) refers to the start of a new cell:
Using the SUMIF formula, I want to add all numbers which are preceded by a cell containing the letter F.
What I need to do is specify a range of every second cell in the row (starting with Cell A1) for validating they equal F, and a range of the alternating cells (starting in column B1) for the range containing the data to add. How can I specify these ranges (I can't name each cell individually as I have more than 30 cells to add up in my real life situation and the IF function allows selection of no more than 30 values)?
I have come up with this bit of code by joining in two separate sets of code that I used earlier. What I want to do is this, for a given range I need to find each cell that has a comma and once that cell is found a formula has to be applied in a cell few columns to the left.. Here is the code that I am using..
Code: Sub Macro8() Dim i As Long For i = 1 To 1000
The sheet can be downloaded from here, I want column H to be (Col B / Col C) whenever Col A has a cell with comma in it. For this sheet col H needs to be populated 3 in places. The code above does it only for first instance.