I have a large workbook with 10+ sheets i need to protect all at once. I have created a macro in VBA below. It works, but I would like another user to be able to change formatting on the sheets while they are protected. below is my macro.
Sub ProtectAll()
Dim wSheet As Worksheet
Dim Pwd As String
Private Sub Worksheet_Activate() ActiveWindow.WindowState = xlMinimized If InputBox("Pleas enter the password: ") "Password" Then Sheets("OkToSeeThisOne").Activate ActiveWindow.WindowState = xlMaximized End Sub This is the code i enter into 3 sheets that i don't want ppl to see unless they know the password but if they press cancel the End on the debug error they can view the sheet lolz. How can i stop them actually viewing it at all?
I'm trying to set up a way to format column widths and row heights in a macro (so that it can read a value from a cell and format a column to that width). I've used the code below which can be repeated for the number of rows and columns desired below
However, I want to be able to do this on a workbook that could potentially have 40+ sheets. Is there a way of applying this code to operate over the whole workbook rather than just one sheet at a time?
I have a macro that takes info/data from multiple sheets in the Basin workbook and summarizes it into the Median Database workbook. I need to copy the values in range B5:EM5 in every sheet (each sheet name is site #) in the Basin workbook and paste that range into the median database workbook row with the corresponding site.
Here is what I have so far
VB: Sub Median_Database() 'This Macro takes the median from each station tab in the current Basin workbook 'And inserts it into the Median Database workbook
[Code]....
how to grab the sheet name and insert it in the median database. The problem is the copy/paste of the range in each sheet. The macro locks up every time.
I am new to the VBA editing and I am missing some steps to get my files correctly generated and then ideally saved in PDF format in the same folder.
I have two files; one is an invoice template with the following fields:
Invoice Reference: Line 8 column D Issue date: Line 9 column D Client name: Line 11 column E&F Client address: Line 12 column E&F Product name: Line 16 column E&F Product details: Line 18 column E&F Production date: Line 20 column E&F Delivery date: Line 22 column E&F Units: Line 24 column E&F Total Units: Line 26 column E&F Total Invoiced: Line 30 column F
Each sheet in the "template" workbook should be named after the Invoice Reference.
Secondly I have the source file in which the data is organized as follows: (Both are in the same folder)
Invoice Reference: column A Issue date: column B Client name: column C Client address: column D Product name: F Product details: column G Production date: column H Delivery date: column I Units: column J Total Units: column J Total Invoiced: column E
One invoice needs to be created per line in the source workbook. I tried many times the macro recording without getting the correct outputs.
I have an excel workbook with 60 sheets (each contain data in the same categories and in the same column locations, just different information on each sheet). What would the VBA code look like if I wanted to manually enter the find and replace values and perform the function (find and replace) across multiple sheets in the workbook?
I have a macro that duplicates a excel file into how ever many files I need... so If I need 150 copies of the the file, it will make it 150 times.
However, each file the first tab called "Clients" has information that I want protected so users can't alter it. I can't protect it before I run the duplication because the data is added by a group of people and I need it unprotected until they add the information.
What I am looking for is a macro that I can click and run, allows me to select multiple files, then it will automatically Protect Sheet 1 "Clients" on all the files I select so I don't have to open all 150 files after data is entered and Protect sheet 1 manually.
I am trying to protect all sheets on a Workbook Close event.
I don't want the user to even be able to Select the Loked cells so I set it up that way through formating of cells.
This is what I have tried:
Private Sub Workbook_BeforeClose(Cancel As Boolean) Dim sh As Worksheet For Each sh In ThisWorkbook.Worksheets sh.Protect Password:="P@ssword", DrawingObjects:=True, Contents:=True, Scenarios:=True ActiveSheet.EnableSelection = xlUnlockedCells ' sh.Protect Password:="P@ssword" Next sh End Sub I even tried the commented out line in that postion instead of where it is now.
It does protect but still allows selection of locked cells.
I am looking for a code that would copy the data from each worksheet in a given workbook and then paste to just one worksheet within a different workbook. The Sheet names are auto generated when I run this canned report but the naming structure is always the same...the first worksheet is named Repair Details and then the next sheet is named Repair Details_1, the next sheet is named Repair Details_2 and so on for every sheet in workbook. So I would like to copy all of the data(Headers to last cell) and then paste in a worksheet(ex: Master Repair Report.xlsx and the worksheet could be titled Master Repair Details) on a different workbook, then the next sheet would copy from the one under the header to the last record and paste to the same workbook. This process would repeat for every worksheet in the Repair Details Workbook and paste to Master Repair Details worksheet in the Master Repair Report workbook.
I currently have set up two macros that will unprotect and protect all sheets. When I run the macro I noticed that it will not unprotect the sheets that have been set as a new sheet for the chart (the chart is not a object in a sheet it is a sheet all by itself) Can anyone tell me where I have gone wrong?
I am using some VBA I found here to password protect a hidden sheet. It works perfectly for 1 sheet, but I am trying to hide 6 but am having problems. Under the HideSheets part I've modified it fine, by using
Sub HideSheets() 'Set worksheet to Very Hidden so that it can only be unhidden by a macro Worksheets("Confidential1").Visible = xlSheetVeryHidden Worksheets("Confidential2").Visible = xlSheetVeryHidden Worksheets("Confidential3").Visible = xlSheetVeryHidden End Sub.........
I am using MS Office 2010. I want to count---on multiple sheets---the number of times that a given cell is greater than another cell if and only if a third cell is equal to a given value. I want to do this for 4 sets of data on each sheet. I thought I had it figured out with this formula---
but it returns a value of zero each time. Clearly there is an error in the formula.
Here is some background: -- $H$1:$H$43 is a block of cells that has the names of the sheets in the workbook -- E1 and F1, G1 and H1, I1 and J1, K1 and L1 are the four groups of cells that I am comparing. In the entire workbook, I want to add 1 (counting function) only when: R1=2 AND E1>F1 or S1=2 AND G1>H1 or T1=2 AND I1>J1 U1=2 and K1>L1 on each appropriate sheet in the workbook.
I have about 20 workbooks with different file names for different projects all saved in the same folder. Each workbook has about 10 worksheets and each worksheet is named in a similar fashion in each of the 20 workbooks (eg. revenue, cost, variance etc.). I want to pull out a worksheet named ' forecast' from each workbook into a master workbook so that the master workbook would contain the 20 forecast worksheets.
I have a sheet that pulls data from an external source. I want it so that when a person clicks on a cell or a range of cells, it automatically locks and hides the formula. I don't want to lock it by using the conventional method because protecting it will cause the external data not to be able to populate the cells. So my thinking is that when the data is imported, and the user clicks on a cell, it will automatically lock and hide.
I need columns
A C E:BB to be locked and hidden as soon as someone clicks it. Is this possible?
I read somewhere that I may be able to do some type of "Private Sub Workbook_SheetSelectionChange" to achieve this.
I have a very large workbook - there are only five sheets of this workbook that should be viewed by anyone. What I would like to do and just can't seem to find a solution is...
I would like to set the workbook so that when opening I use a password which will give me full access to anything in the workbook - upon read only, a user would be able to open the entire workbook without a password - but only view it's contents - not be able to do any adjustments.
I have locked cells which I do not want anyone to adjust the formulas to, then protected the sheet - this works, however, because there are so many sheets, it becomes very tedious to unlock and lock sheets to work in them.
I have a spreadsheet which has all the names of trips from a warehouse, the day that they operate (1,2,3 etc) and the job line allocated to each trip. It looks something like that:
A B C DAYTRIPCUST
I would like to create a macro that will be creating 7 new workbooks and then in those workbooks as many sheets as the trips. In these sheets, the customers should be displayed.
How do I write it? I could not find how to have a "dynamic choice" in the macro. I.e. not to have the criteria as "1", "trips1" but to choose from the range of inputs that are available.
I have a workbook with several worksheets in it. One worksheet for each manager. I only want the individual manager to see their individual worksheet and not those for the others. Is it possible to hide the worksheet and unhide it using an individual password, a seperate one for each manager ?
or alternativly, is it possible to hide say the columns and give each manager their own password that only allows them to unhide the columns for their worksheet. I really dont want to have to send out several seperate versions, just sending one workbook but passwording the individual worksheets within it would be ideal.
i would like the user to be able to unprotect the workbook via clicking a button. this button would first ask the user for a password before unprotecting the workbook.
I am building an Excel workbook for use by many users in a company. The Worksheet that all users will be able to see and access will reference a Data tab that contains sensitive data. I know how to hide and password protect that tab, but just wondering if anyone can tell me how secure that is? In other words, if someone really wanted to get that data, how easy is it for the password to be broken? I will need to prove to management that the data is secure.
I'm developing a few workbooks that may at some point be distributed amongst other people. If this happens, I don't want people sharing these workbooks around, and therefore I need a way of enforcing the users to only use a workbook on a single computer.
I have come up with a method that allows a workbook to open on a single machine only, and not others, but I had to devise this method myself. I was wondering if there are other ways of doing it, possibly quicker ways than my own, or if there is something already within Excel that caters for this?
I have a shared workbook is it at all possible to leave the cells unprotected so a user can enter data but prevent cells from being formated
for instance someone on night shift with nothing better to do has decided that black text on a white background is boring and changes it frequently to a rainbow of colors. and text types it is making a well laid out and good sheet look like something a child has done I would pursue this down a discipline line but it has proved impossible to nail down the culprit from the many users
How to protect multiple sheets in a workbook and not having to protect them 1 by 1. I have copied and pasted all the different macro's/visual basic script that has been posted for that purpose, but I can't get it to work and I'm always getting an error. The error from visual basic says "compile error: invalid outside procedure" and then the visual basic screen shows the following:
Range ("AM52") If Ans >= 0 Then "+."
It does not like the "AM52" part because it is highlighted in the error message.
Also, the error I get from recording my own macro step by step is "Run time error 40036" from visual basic.