I was trying to re-create an example from Chapter 4 the 2nd Edition of Professional Excel Development in which there is a data validation list,
that is conditionally populated according to the selection of another data validation list.
When you choose b/t Fruits or Vegetables (Source:=Categories) in column D, the list under Item (column E) will read as a group of Fruits or Vegetables (Source:=If(IsBlank(D4),"",Indirect(D4)).
When I look at the Define Name dialog box, there is a column indicating the sheet name, which I cannot re-create/build myself. My first question is how do I do this, and secondly, the 2nd formula above will not work when I plug it into the data validation, but it may be on account of these worksheet level names. If you guys can see another reason why, I'm all ears (or eyes as it were).
UPDATE: Of course, I just tried it again this morning and it worked, but i would still lke to know how to use Worksheet/book level names.
I'm building a chart wich displays data for each month and there are 3 phases that are defined by month and included in the chart. I've managed to show both of the category series, but I'd need to change the order in which the labels are displays. Now I have the axis in the following form:
In general defining Sheet Level Name Ranges works fine with me, most of the times I use something like shown in the code below.
However, I have discovered that apparently the successfull execution depends on the sheet-name format itself
The code below works perfectly fine with worksheet names like "234", "cas422", etc but it fails to work with worksheet names like: "C12c", "eh34h4". It seems to me - but I am not sure of being able to generalize this - as if it works when the name contains [numbers][letters] or [letter][numbers], but it fails when it contains a mixture of both like [numbers][letters][numbers] or [letters][numbers][letters] .... in case of a failure of the code, I go into debug mode and simply rename the sheet, then everything's fine again.
Am I the only one to experience such difficulties? (I run Excel 2003 with SP3 on Windows XP) Or would a different code prevent this kind of trouble?
I think, I could write a workround, but before doing so I'd rather like to ask if I am doing something wrong here?
I need to create "Define Name" references for 70 columns of data so that I can establish Parent/Child relationships in a data validation list. Is there a quick way to do this or do I need to go through the same steps 70 times (i.e., once for each column)? My concern is that the current order of my columns might change too, and I don't want to have to recreate the "Define Names" every time it does.
I found some code online that works great for defining a named range. My only issue is that occasionally my worksheet name will contain spaces. this throw off the current code. i do know that if i manually go in to the range and add a "'" to the beginning and to the end of the worksheet name it fixes it. unfortunatly i cannot figure out how to add the "'" in the following VBA.
Code: Sub AddDynamicRangeVertical() On Error Resume Next Dim sRangeName As String Dim n As Name
I got this code I have been trying to solve but it does not work... What I need to do is define a worksheet and a range of that worksheet. I can only seam to work out either a worksheet or a range but not the two together.
Private Sub cmd_Cform_Click() Dim rng As Range Set rng = Range("A1") With Sheets("Customer") rng = .Range("A1") Application.CommandBars.FindControl(ID:=860).Execute End With End Sub
I am fairly new to macros and have trouble with VBA. I have a file with multiple worksheets. Each worksheet contains the name of a specific location in cell A8. I want this name in cell A8 to be the name on the worksheet tab for each worksheet in my file but do not know how to accomplish this. Is that even possible?
I use a web query to import into an excel workbook. As data is changed on the web that the query runs against, I would like the name of the sheet that is being imported into to change to one of the cells that is being imported.
What I want to do is have a ComboBox (I think it should be a ComboBox, I want the user to be able to select multiple options at once) and display the names of the worksheets in the ComboBox. I could not find a way to do this directly with rowsource and thought about writing a loop to check the current worksheets with their names and put the values into cells, to this way have the names displayed in the ComboBox via rowsource?
I have this logic that clears cells in all WS in WB.
The logic is using each sheet name to reference the logic to clear the contents. Look:
Private Sub CommandButton1_Click() ActiveSheet.Unprotect Password:="" With Application .ScreenUpdating = False .EnableEvents = False Response = MsgBox("This Action Will Prep For A New Week. Do you want to Continue?", vbYesNo) If Response = vbNo Then Exit Sub End If
I currently have a workbook that copies the first sheet and emails it to an individual on the first day of the week.
New requirements are for it to be sent to a list of people.
I am at an impasse on how to proceed due to lack of knowledge. The current code obtains the recipient from Sheet3 D4 and i would like to be able to list down this column for additional emails without restricting this to a set number of cells.
I have searched the forum and have been unable to find what i am after.
I have included a test file to show what i have so far. We use Outlook 2k3 We use Excel 2k3
Basically I want to be able to get the names of all sheets in a workbook. I know how to get Excel to print the name of the sheet in a cell once the file is saved, and I know how to hide sheets to make sure that all sheets are referenced in a range. If the name of the worksheet is in the same cell across all sheets (except the ones I don't want included on the totals page), is there a way to call that range and have Excel print off all the worksheet names in different rows or columns via a fill function?
Difficulties: the user may add/delete, rename, and have any number of, worksheets in the workbook. Because these variables are unpredictable, I am having difficulty figuring out the way to do this. Also, the formula should be able to ignore the sheets which have no value in the expected cell.
How to assign a "WS(i)" worksheet name and have the assigned variable (i) in the name equal the consecutive steps in a total page count.
Here's the code that does not work:
Code: Dim WB as Workbook Dim WS as Worksheet
Set WB = ThisWorkbook For i = 1 To WB.Sheets.Count Set WS(i) = WB.Sheets(i) Next
I can see why it does not work. I can't figure out what to declare in my Dim or how to word the statement using the (i) variable in order to capture the value to attach to "WS."
Details: The issue is that the number of pages created will vary day to day depending on staff needs. There's an array of staff names to be assigned to page tabs and there will be skips and deletions along the way depending on daily attendance so "WS(i)" worksheet names can't be assigned at creation. What happens if they are is that the succession of worksheet names winds up being (e.g.) "WS1, WS2, WS5, WS12," etc. instead of consecutive.
There's a very complex data-sort-and-assign system that depends upon how many staff-assigned sheets there are, and as such each sheet has to have a "WS" worksheet name for the process to stay smooth. If the names are not consecutive, though, the sort-and-assign process becomes confused. This step takes place at the end of the initial workbook set up process, immediately before the data are addressed, so there really isn't an earlier opportunity. It can't be later since from this point on the system depends upon the "WS(i)" names being there.
It started fine when there were 5 people. Now there are 37.
Is it possible to make a macro that creates a Pop-up box that asks for date ranges and generates copies of the first worksheet in the workbook labelled as dates? There are ALWAYS 6 half terms to a school year so a 6x2 pop up box / table that is formatted in the following way will allow the appropriate date ranges to be inputted (saturdays and sundays must be excluded from this range):
Title of input box: Input School Half Term Date Ranges
******** Start Date ** End Date ** Autumn 1 03.09.06 18.09.06 Autumn 2 Spring 1 Spring 2 Summer 1 Summer 2
The macro would then create a series of sheets from 03.09.06 to 18.10.06 as well as the other 5 date ranges (excluding weekends) using the first sheet as a template. Would the user have to also input the start day for each half term or would excel 'know that 04.09.06.06 is a Monday and 18.10.06 is a Wednesday?
If the macro could create worksheets for these date ranges and clone the first worksheet in the workbook then that would save me LOADS of time copying and pasting each year.
I have a form created, were the user can select up to three pairs of open worksheets for sheet subtraction, to see where Im going with, aka the big idea see here: Column Subtraction With Criteria Via Box & Produce Results In New Workbook
What I dont know how to do, is get the form in the attached workbook to show all the available worksheets. Specifically, from the dropdown combo box, I would like it to list all open worksheet title in all open workbooks.
I want to "calculate" a worksheet name by concatenating 2 cells. Then based on this concatenated word perform a " lookup". Basically I have a form for people to fill in and want to extract their answers automatically.
I am trying to implement this formula in my file: = SUMPRODUCT(SUMIF(INDIRECT("'"&$H$1:$H$20&"'!A1:A100"),"criteria1",INDIRECT("'"&$H$1:$H$20&"'!B1:B100"))). I have over 35 sheets in this file with different names. Is there a way to export all the sheet names in list format so that I don't have to go back and forth in the file and type the names?