Excel 2003 :: Grant Access To Selective Columns On Shared Worksheet
Nov 15, 2012
I'd like to grant access to selective columns on a shared worksheet.
For example:
Columns A to D should be edited by only me
Columns E to G can be edited by anyone
Column H should only be edited by someone else
The worksheet has to be shared and has been shared by me. I know how to protect & hide locked cells etc but the problem I'm running into is this...
After locking & password protecting say columns A to D and then sharing the worksheet, I am unable to edit my own columns (columns A to D) without first entering the password.
However in order to enter the password I need to unprotect the sheet. And in order to unprotect the sheet, I need to unshare it!
Is there any way around this or perhaps a completely different way of approaching it?
I've added some code the adds a button to a worksheet
Public Sub AddSheetPrintButton() Dim btn As Button Dim t As Range Set t = ActiveSheet.Range(Cells(1, 6), Cells(1, 7)) ' button position Set btn = ActiveSheet.Buttons.Add(t.Left, t.Top, t.Width, t.Height) With btn .OnAction = "sheetPrint" .Caption = "Print Sheet" .Name = "Print" .Font.ColorIndex = 10 End With End Sub
The other day I inserted a row in a shared workbook and then saved it. On my screen, the inserted row was visible and was the correct row height of 12.75. My goal was to insert the row so another user sitting next to me could enter information in the new row.
After I saved the workbook, and after the user sitting next to me saved her workbook, the row I inserted should have appeared exactly the same on her screen, but it did not. Instead, the inserted row showed up as a hidden row on her screen. It was there, but the row height was collapsed to the point of invisibility.
I repeated my attempt to insert a row which the other user could edit several times, but each time I got the same result. I could not make the row show up on her screen with a row height of 12.75.
I have a worksheet with five columns (A, B, C, D and E)
The cells in Column B contain letters and/or numbers (without spaces) in no particular order. The cells in Column C contain letters and/or numbers (without spaces) in no particular order.
I want to compare all characters in 1st Cell of Column B with all characters in 1st Cell of Column C, and display the matching characters in 1st Cell of Column D, and the character count of 1st Cell in Column D must be displayed in 1st Cell of Column E. note that multiple instances of the same character must not be treated as duplicates. When execution on 1st Row is finished then repeat procedure for Row 2, etc... Stop execution when first empty cell in Column B is located.
I currently have a userform, and on commandbutton_click, it performs the following code that adds a column in a access table to a combobox(cbList)
Private Sub CmdName_Click() Dim rstName As ADODB.Recordset Dim strClientDatabase As String, strConnectionString As String strClientDatabase = ActiveWorkbook.Path & "9001.mdb"......
After its listed on the combo box, upon commandbutton_click on another button, i wish to extract a particular record, based on the selection made on the combobox(cbList). This is where im having problems caused i have no idea how to do so. I just want it to extract the particular record row, based on cbList, and insert it into range A100:D100 in a particular worksheet. It is then updated and added to a listbox which ive already done the coding for, and with another button click it would add the details in the listbox into the appropriate location i wish to.. The only place im stuck is with extracting the data from access into a A100:D100 range in any worksheet. what ive come up with, but is incomplete is :
Private Sub CmdImport_Click() Dim adoRS As ADODB.Recordset Dim strSQL As String Dim strClientDatabase As String, strConnectionString As String strClientDatabase = ActiveWorkbook.Path & "9001mdb" .........
I want to write down the code that will populate values in "Sheet1" from the Access table. The column headers shows "Envelope types", "Envelope Size" fields from the Access table and each cell should store sum(volume) for each month in the table.
As I can't upload access table in the attachment so I have exported data into Workbook named "tblmain" as attached. But in actual tblmain is Access table. consider it an access table.
wrting code that will fetch data from access table and store in all the cells of the table in "Sheet1" of Elevate workbook.
I am trying to copy selective data from one worksheet to another. My intent is to copy data in column F below to another worksheet in Column H. I only need to copy numeric data in Column F. Below is the screen shot of my data set. There are 244 Batches and each batch contain 4 members. In another words, I want to copy data for 4 rows (F2 to F5) then skip three rows (F6 to F8), Then again copy 4 rows (F9 to F12) the skip 3 rows and so on.
Here is the sample data -
ABC DEFGHIJ 1 2JohnAccounts841.5 3JackReceivable842.5 4JimPayable842.7 5JustinClaims843.9 6Next lines of Data contain expenditure for batch 2
I have a workbook with several columns, some of which are for internal company use only.
Sometimes we need to send an updated list to business partners, but they don't need all columns.
Is it possible to make another workbook which takes only specific columns, and excludes the stray info at the bottom of the original workbook? See examples.
Alternatively: Would it be simpler to make an extra sheet in the original workbook, and somehow choose "Safe only this sheet to a new document" whenever someone requests the list?
how to write a macro to copy a set of multiple columns (non-consecutive) from a specified row, onto a new sheet. Ie, it is always the same columns, while the row changes with the imported data.
Specifically, these are the columns I want to select, Range("B:B,D:D,F:F,H:H,J:J,L:L,N:N,P:P").Select
Moreover, I want to specify which row to copy from, in a cell (ie, "11"). So that when I run it, values from B11,D11,F11...P11, will be copied.
I have a large number of product descriptions of varying lengths (column A) which I need to split into a maximum of 3 columns depending on the total length of the description. Each description in column A is less than 90 characters. Each column (B, C & D) can only be a maximum of 30 characters including spaces and commas etc. Also words cannot be split. Below is a sample of the result I would expect with the description in column A and the 3 extracted columns in B, C and D. I am using Excel 2003.
However, there are times when I need to add a column/criteria. Thus I would have to go into conditional format and redo all the rows in the worksheet. Is there a smarter way to do this?
I was hoping to provide a list of cell address from the header or better than that look for specific numbers in the header row and if there is a number greater than zero, then highlight the entire row.
There is no specific pattern as to which columns would trigger the requirement.
Also how do you keep the ranges from moving when copying across and down. Sometimes I run into that issue. Maybe highlight the entire row and then enter the conditional format?
How to selectively transpose a row of dates to columns. I'm not sure exactly how to explain this, so below is an example of what the data look like entered into the spreadsheet:
study ID provider visit 1 visit 2 visit 3 visit 4 visit 5
[Code]....
I'd like to extract the data into a new table on another worksheet that looks like this:
Date provider study id visit # 7/21/13 Test Name 10001
[Code]...
This is just a quick example, but basically it would continue through all possible visit dates for the first study ID, then move to the next row of data (i.e. the next study ID) and extract the data from the row and transpose it in the appropriate columns moving down...
I use Excel 2003 & I am trying to design a worksheet to keep track of signs I make & their order numbers. I want the names listed alphabetically. When I add a new name & I arrange the column alphabetically, the columns with the order numbers do not relocate along with the names column.
I have a sheet witch has a number of tick boxes and depending on the response a number of hidden rows may open to allow further info to be recorded, how do I protect the sheet in excel 2003 as unlocking certain cells & protecting the sheet will not work.
I'm trying to copy parts of a worksheet from excel 2003 to word 2003. I've found code that does this alright but I need to be able to re-size the the pasted data to fit the word document. Is there a way to set the properties of the word document like change it to landscape and move the margins etc? Even a simple "reduce the table size to fit the word document". I've included the code i've got already. This code will open up a word document and copy your cells into it but without any useful options. So its ok for a small group of cells.
I have a simple macro that cycles through the sheets in a workbook, and if the sheet's codename matches one of a defined list, some of its data is added to a summary sheet.
The macro works exactly as intended, but a strange thing happened yesterday: some data was missing from the summary sheet because one of the sheets was being ignored. This sheet is named 'MCP' on its tab, and has codename Sheet8.
Here's the strange part: on stepping through the code, cycling the sheets, I noticed that the sheet icon, name and codename had disappeared from the Microsoft Excel Objects folder in the Project Explorer. When the loop got to the sheet in question
Code: For Each ws In ThisWorkbook.Worksheets Debug.Print ws.Name Debug.Print ws.Codename
The above code displayed its name (correctly) as 'MCP', but its codename was blank; the sheet was therefore skipped by the code because the codename had to match against a defined list.
While I was pondering this, and doing some web searches, the sheet then re-appeared in the Project Explorer and everything worked again.
My question is this: is it likely to be due to the workbook being shared? I know that workbook sharing in Excel is often discouraged, but this is a simple workbook only used by a maximum of three users (two of these had the workbook open at the time the issue was reported)
I've changed the code so that the sheet name is inspected in the event that the codename is blank, which should guard against the issue provided sheets are not deleted/renamed.
I am creating an invoice form in Excel 2003. I like to know if it is possible to increase the value of cel A1 by one everytime a new sheet is created.
For example i created my first worksheet and gave an invoice number 001. Now I create a new worksheet by right clicking on the tab and choose copy/move. I like the second work sheet change the invoice number to 002.
I have inherited a number of databases in work (running Office 2003). It has quickly become apparant that a vast amount of work is duplicated and so i am trying to cut down the data input and therefore the possible errors.......
I have narrowed most of the work down and now have a major worksheet (is that what you call a complete Excel file) named "master database" and several over minor files....
Currently what i am trying to do is to get the minor files (68 seperate files) to auto populate an area of the master database. I will try to explain it below...
1. Minor database has 2 columns with data i require to auto populate the master database. (1 column (B) is called 'off', the 2nd column (C) is called 'on').
2. A number will be inputed manually into either 'B' only or 'B and C' columns, depending on the criteria of the job..
3. The criteria of the job is dictated by column (Z) where the text 'A' or 'ATL' is inputed
4. The master database i would like to add up the numbers inputed as a total from columns 'off' and 'on' and place them into seperate columns 'E' and 'G' of the master database.
5. IF column (Z) shows 'A' then only column (B) 'off' is to be calculated and put into the master database at column (E)
6. IF column (Z) shows 'ATL' then BOTH columns (B and C) 'on' AND 'off' are to be added together and column (G) populated on the master database.....
To make matters more complex. An expiry date is shown on the master database at columns (D) and (F). IF column (E) does not exceed 12 by the expiry date, i would like the cell (D) to turn red IF column (G) does not exceed 10 by the expiry date, I would like the cell (F) to turn red
How do I compare 2 columns and then flag where there is duplication? I want to compare Column B against column C and then flag everywhere there is a match. In this case, Column B may have several thousands of entries (inclusive off all entries found in Column C) and I want to have Excel look through the thousands of entries in Column B and then just place an "x" where there was a match to the values found In Column C. For example:
I have Excel 2003 and use the following code for 50 consecutive columns, using each column's Row 1 as the multiplier. Each column has over 20,000 rows. It works, but I'd like to know if there's a quicker and / or neater way to do it.
I am using Excel 2003. I have a spread sheet and I am trying to use conditional formatting. But I can't figure out how to use conditional formatting across multiple columns and so I have been doing each column individually which has been kind of a hassle. I also am trying to figure out how to put in a formula so that every occurrence of a certain text will show up a certain color. I know that I can just do "cell value is", "equal to" and click on the cell, but the information in this spread sheet is organized alphabetically and is going to be added to frequently therefore every time I add information it re-organizes. This then messes up my conditional formatting because the text value that was in the cell gets bumped up or down.
Creating a macro that updates and copies part of a worksheet in Excel 2003 and pastes it in MS Word. The sheet I have is a sheet that updates some prices etc and after it updates I usually select a square (part of the sheet), press CTRL+C to copy it and paste it as a picture (paste special ) in word. Is there a way to automate the process?
I am thinking a macro that updates the sheet, copies and pastes iit on word??
Worksheet 1 is called "Master List Data". Every cell within this worksheet contains a formula so that it matches the cell value contained in a worksheet held within another workbook.
The formula for reference is as follows:
=IF('[CCL Breakdown.xls]MASTER LIST - Active Customers '!A1="","",'[WFX CCL Breakdown.xls]MASTER LIST - Active Customers '!A1) .
e.g.
If Cell A1 on Master List-Active Customer contains no data, Cell A1 in Master List Data would be blank.
If Cell A1 on Master List-Active Customer equals John Smith, Cell A1 in Master List Data would display John Smith.
There are currently non-blank values contained in cells A4:A750. But next week there may be non-blank values is cells A4:A790 (i.e. it will grow each week)
Worksheet 2 is called "Master List Flat. At the moment, I am manually copying and pasting the rows which have non-blank values in cells from Column A from Worksheet 1 into this report (e.g. A4:IV4).
I would like to automate this process and I have created a Macro, but I do not know how to word it so that it will only copy cells with actual data in.
The Macro I have written is below:
Sub IMPORTANDFLATTENDATA() ' ' IMPORTANDFLATTENDATA Macro ' Macro recorded 01/10/2012 by walesb ' ' Application.ScreenUpdating = False Sheets("Master List Flat").Select Rows("4:759").Select
List of email addresses in column a List of email addresses in column b
** I would like a formula that will take all the values in column A and compare it to the entire list of entries in column B. Would like it to show in Column C any entries in Column A that ARE NOT in the entire column B.
*Would like it to repeat for entries that are in Column B, but not in Column A and show in D.
*Then would like a count of the differences for each column (that is pretty easy).
It needs to look at the entire list of entries in the column as these will be email addresses. We want to know what is missing from Column A that is not in Column B and what is missing from B that is not in A.
I am using Excel 2003 and I need to count occurrences involving two colums like this: on sheet "SALES", column I has values ranging from 8.00 to 10.00; column M has positive and negative values.
formula to count how many numbers in column I exist between 8.00 and 8.99 associated to a positive value in column M? And likewise for negatives?
I need to find out "total lifted quantity"(i.e. the sum of 'first state lifted quantity'+'second state lifted quantity'+'third state lifted quantity') for each "state" for each "size" and each "grade".
However when I am applying a pivot table (as seen in Sheet1) it is not giving data in lucid form. I don't want to split the data for three states in three different tables (as seen in Sheet 4).
Basically the first worksheet (equipment list) is set out for parts used for each individual unit which can be printed out for each unit.
The second worksheet is an equipment list, where each part number and quantity required is displayed which can be sent to suppliers for ordering.
At the moment I
-> copy the equipment list to a new worksheet -> do an advanced filter for "Unique records only" -> =SUMIF('Equipment List'!B:B,'Parts List'!A16,'Equipment List'!D:D)
which is much faster than the way we used to do it.
The problem is, when I add a part to the equipment list that is new, I need to go through the process again.
Is there a way to automate so any parts I add to the equipment list, if it is the first time the part number has been entered, it will copy to the parts list worksheet and update the qty column or if it is an existing part number it just updates the qty column?
The equipment list may potentially have up to 100 different drives, but using mainly the same equipment.
I created this sample on an old desktop using excel 2003 but I use 2010 on my laptop.
Sheet 1 contains huge amounts of data - thousands of rows and multiple columns
Sheet 2 - I want to extract the data from sheet 1 column A into sheet 2 column A but only the data from every 21st row.
I want to be able to copy the formula automatically down, otherwise it will take hours to do it manually. So far I can only get the cell reference to increment by 1 each time after copying.
I recently upgraded from Excel 2003 to 2007, and the worksheet change procedure that i have embedded in my worksheet no longer fires when the criteria are met. If and if I fix it to work in 2007, will it still work in 2003?
Here is my procedure:
Private Sub Worksheet_Change(ByVal Target As Range) Dim rngCell As Excel.Range If Not Intersect(Target, Range("C19:R19")) Is Nothing Then For Each rngCell In Intersect(Target, Range("C19:R19")) If rngCell.Value = "BLACK" Then MsgBox "Please select a shading style", , "Shading Style Required" End If Next rngCell End If End Sub