Using With Statement To Reference Two Sheets
Dec 11, 2008I have some code allowing me to calculate all of my formulas for two of the sheets in my workbook. They are basically the same table on sheets 1 and 2
In the line
I have some code allowing me to calculate all of my formulas for two of the sheets in my workbook. They are basically the same table on sheets 1 and 2
In the line
I have three sheets of data, each sheet has various columns of data, but within each sheet, column one contains a unique reference number (URN), which is a unique six digit number identifying an organisation.
In sheet two I need to create a new column and call this 'Filter Group'. In that column I want to insert a series of IF statements to return a value from all three sheets. The difficulty I'm having is that I can't get the if statements to work specifically for when the URN in sheet one or three match the URN in sheet two.
Sheet two is my main data sheet. Sheet one is called '2 Weeks Previous' and sheet three is called '2 Weeks ahead'. The IF statement I have created so far is as follows:
=IF('2 Weeks Previous'!H:H=1,"ENF grade 1",
IF('2 Weeks Previous'!H:H=2,"ENF grade 2",
IF('2 Weeks Previous'!H:H=3,"ENF grade 3",
IF('2 Weeks Previous'!H:H=4,"ENF grade 4",
IF('2 Weeks Ahead'!B:B<>"",'2 Weeks Ahead'!G:G,
IF('Background data'!H:H=2,"All-Good","NotRequired"))))))
I am trying to match up two sheets and I the match criteria is based on the data from columns B, C, D, E, and G. Sheet 1 contains ~20,000 line items of data. Sheet 2 contains ~250 line items. I am comparing the info in sheet2 vs. the data in sheet1. Both sheets are formatted the same.
For each row in sheet2, I need to compare against all rows in sheet1. For example; for the first row in sheet2, determine if there is a row in sheet1 that contains the exact same data for columns B, D, E, and G (all must be true) and the data in column C is False. Examples:
Sub SheetFinder()
Application.MacroOptions Macro:="SheetFinder", _
HasShortCutKey:=True, ShortcutKey:="G"
msg1 = "What sheet would you like to go to?"
msg2 = "I'm sorry, but that sheet could not be found."
On Error Goto NotFound
TryAgain:
prompt1 = InputBox(msg1, , "Template")
If prompt1 = "" Then
End
Else
Sheets(prompt1).Select
End If
End..........
how to get a workbook containing macros to save as an addin xla format to include hidden worksheets?
I have referenced them in the code, in unhides, copies as a new sheet and then rehides it.
Yet when I run it as an addin, when it goes to unide the sheet, it says Im referencing something which doesn't exist (because it's not included in the xla addin).
I have an excel file with a lot of sheets in it. One sheet is named "main" and the other ones are named: 1, 2, 3, 4, 5, etc...
I want to put the following function in the "main" sheet:
=COUNTIF('1'!M2:M23,B1 & A2) + COUNTIF('2'!M2:M23,B1 & A2) + COUNTIF('3'!M2:M23,B1 & A2) + etc...
The question is, is there a way to somehow tell excel to run the function to sheets 1 to 31 without typing a very very long function like above?
Im working across Multiple Sheets and trying to get the following working.
I want a an input by the user of "NO" in cell M11 on Sheet 1 of my workbook to hide rows 32 - 41 on Sheet 2 and not to hide them if the user keys in "YES"
I've got a workbook with about 1,000 worksheets in it and I need to add up the values across the sheets from the same cell reference. I can get this bit to work with this formula:
=SUM('1:2241'!BJ3)
So this adds up the contents of cell BJ3 across all worksheets located between 1 and 2241. However I also need to count the number of times a zero appears (zeros only not blanks) so I thought this might work:
=COUNTIF('1:2241'!BJ3, "=0")
However it just returns the #VALUE error.
i'm trying to use the sum across sheet function - i.e. - =SUM(Start:End!B1)
Whereby "Start" and "End" are the two relevant sheet names and "B1" is the cell I want added up.
However, can I make B1 variable, whereby there is a cell, say in A1, that contains the string "B1", so that I can make it sum C1 or B20 or anything on the other sheets?
The following, within a macro prints the sheets requested:
Sheets(Array("Sheet1, Sheet2, Sheet3, Sheet4, Sheet5, Sheet6")).Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
But I need to print only sheets the have data in cell A6. This is due to the footer page numbers (Page Of Page) I only need to print sheets with data in A6 of each sheet.
I have 12 monthly sheets and 1 YTD Sheet ( Total of 13 sheets) in workbook.
I need the easiest formula to sum all values in cell B4 from Monthly sheet and have that in B4 of YTD sheet.
I've a workbook and it has two sheets. Suppose, I want to link A1(sheet1) and a1(sheet2). If I update any of the cells in any of the sheets the other one will be updated automatically. How can this be possible? Or are there any other alternatives?
View 14 Replies View RelatedI have a workbook that reports data on a daily basis within a month. I receive data daily from a different workbook and import the data for the day in its correct worksheet which has functions that automatically calculate everything I need, which then gets collected from a central worksheet which accumulates the "Total".
However, I have recently added 2 new pivot tables to my analysis, and apparently when i copy/paste the pivot tables to each new sheet, the data source is references the original sheet where the pivot tables come from.
I tried doing a dynamic name range, and that states the worksheet name in its reference as well.
How can I make a Pivot Table, gather the information from the same range $A$1:$J$5000, but only for the sheet in which the Pivot Table lies.
The sheets are labeled by the day of the month.
So, data for February 1, 2009 is worksheet "1"
February 14, 2009 is "14"
without the ""
I have a workbook with multiple sheets. There is an overview sheet and then 14 sheets allowing for 14 days worth of schedule information. There are then 3 sheets following the 14 days to total some information. The workbook users frequently change the sheet names of the 14 sheets to reflect days of the week.
I'm creating a copy for distribution that takes the active workbook and copies the values to a new workbook. There are columns that I would like to delete from the 14 day sheets and that would be easy enough if the sheet names were never changed.
The code I'm using currently follows (my thanks to Turtle 44 for helping on that section)
Sub Copy_Visible_Sheets()
Dim arr() As String
Dim i As Integer
Dim WB As Workbook
Dim WS As Worksheet
Set WB = ActiveWorkbook
Application. ScreenUpdating = False
'Make sure template is saved as .xls
If Not ThisWorkbook.Saved Then
MsgBox "Please save this workbook before generating a Client Copy."
Else
How do I change the code so that the macro looks up the next sheet (instead of by sheet number, which is how the code was recorded) and transfers data to the summary page until there are no more new sheets. See attached zip.
View 6 Replies View RelatedI know how to reference cells from one sheet to another but for some reason I cannot for the life of me work out how to do this and that particular figure remains even after sorting sheets? Basically every time I reference some numbers its fine but when I sort the original sheet being referenced the figures are all wrong. I tried linking the cells and that didn't do it either?
View 5 Replies View RelatedI have a multi-sheet workbook with a some raw data that I import into Excel from another system. I then perform calculations & summaries in one of 10 other sheets. In order to make it more readable, I world like put the company logo on the top of each sheet.
Is there a way to create a Input type of sheet that I put the logo in and then on each of reporting sheets do an ='Input'!location_of_logo_cell type of formula, in a similar way that I would pull data from that same sheet, like ='input'A1?. It becomes very labor intensive if I want to make changes to the logo and then copy it to every sheet.
I've created 12 identical work sheets for the year, each has 6 columns of data and 87 rows all containing different information (letters, numbers, dates and characters).
I've also set up a "Conditional Format" rule so that any identical information triggers a strikeout (line through the cell entries) of the entire row for both lines of offending duplicating data. To do so, I created a use cell off to the side (in column AT) with the command =CONCATENATE (u41,v41,w41...) which condenses all data into 1 cell.
Afterwards, I went into Conditional Formatting and created the strikeout command with =COUNTIF($A$T$29:$A$T$116,$AT29)>1; where the $AT29 reference simply identifies the cell to the left and then continues down.
This has worked well but I'm stumped. Now I want the reference to extend to the previous month, lets say I'm in February and want to extend the search to Januarys AT29:AT116 review.
simply use a reference in the COUNTIF formula in the Conditional Formatting rule that takes the search through to the January work sheet, then I can simply duplicate the command for the March sheet which will then review all 3.
I am trying to drop (paste) in new data in a range in sheet 2 and cross reference a column with a table in sheet three and display all rows of matching instances in sheet 1. Example:
Sheet 3 has
a1 b1
amcdap amber connor
apsdap ashley simpson
sheet 2 has
a1 b1 c1 d1 e1
amcdap 300 400 2:00 9:00
apsdap 500 300 4:00 8:00
capdap 200 300 5:00 9:00
dlsdap 400 300 2:00 8:00
I need to return only rows 1 and 2 to sheet 1. I guess ideally I'd like to drop data in sheet 2, click button.
I am currently using an Intersect statement in a worksheet module to perform two things:
1. Insert a time stamp into row 2 when row 1 has a price inserted
2.To clear that time stamp if the price is deleted at some later date.
My problem is with the time stamp value being deleted by the user.
If I try to clear the price (now that the time cell =empty) I get a Runtime error 91 - Object Variable or With block variable not set.
I would like to convert this code to a select case statement but I'm not sure how to do this in this situation. Would error coding be appropriate in this instance?
I'm trying to set up an if statement that will recognize that if a cell is FHR it will do something...but if it's PHR it will do something else. I think I found the place where I keep getting an error but I'm not sure how to go about fixing the issue.
View 2 Replies View RelatedI am attempting to use a previously Set variable as part of the next Set statement, pretty unsuccessfully at present.
My purpose is trying to look up
Code:
tb_SelJobID.Value
from a userform in Col Z then look across the row to Cols D,I,N,S & W (different types of work) to see if
Code:
TbSelYr.Value
matches the year selected then insert a formula in the row to the left. Then loop down to the FinalRow.
Currently my Set Found1 statement does not recognise my Found10 value. I know it will be my syntax as it always is. I have cut down the following code to display where the problem areas are, Found1 thru 5.
Code:
Sub CmdGo3_Click()
Dim Row As Range
Dim FinalRow As Long
Dim Found1, Found2, Found3, Found4, Found5, Found10 As Range
Application.ScreenUpdating = False
[code]....
Windows 7 with Excel 2010
I have an Excel Sheet which I use as Database. The database has 11 columns and I insert data with the following function:
Code:
Sub testInsert()
Dim adoCommand As New ADODB.Command
Dim sQuery As String
Dim i As Integer
Dim strTest As String
strTest = "test"
[Code] .......
Now I want to retrieve this data. i.e. I want all F1 where F2 and F3 are 0 AND I want them ordered descending. I'm trying to achieve this with:
Code:
Sub testSelect()
Dim adoCommand As New ADODB.Command
Dim sQuery As String
Dim mrs As New ADODB.Recordset
Dim strTest As String
strTest = "test"
[Code] ....
The result I am getting looks like this:
9
8
7
6
5
4
3
2
15
14
13
12
11
10
1
I assume, that the data is interpreted as String instead of an integer. But I explicitely stated the data as Integer when storing the data into the DB.
I have encountered some difficulty in modifying a macro I wrote into what I need. I created a macro that searches a column (Column C) for a cell value of, "stop", and then it copies everything above that cell and pastes it onto another sheet. In the sample data set that I was using, "stop" first occurred in cell C541, so the macro copies C1:C540 and pastes it onto another sheet. The problem is that the macro created an absolute reference to C540. What I desire is for the macro to use the 'Find' function to locate the first occurrence of, "stop", offset one cell above that cell, and then reference the active cell (which was positioned by these last two steps) in the range that should be copied. Basically, I'm hoping to have cells C1 through the active cell copied and then pasted onto another sheet.
Code below.
Sub FAIL()
'
' FAIL Macro
'
'
Sheets("Reformatted").Select
Columns("C:C").Select
Selection.Find(What:="stop", After:=ActiveCell, LookIn:=xlValues, LookAt _
[Code] .......
A 'Days Attended' cell (N8) and a 'Days Absent' cell (O8). N8 needs to count the number of "Present" values there are on another worksheet. The other worksheet has dates across the top and names down the side.
When i use
=COUNTIF("Attendance!C9:Z9", "Present"),
and the next date comes along the formula changes to
=COUNTIF("Attendance!D9:AA9", "Present")
ie. the reference moves a column across - the new date's absent or present is not counted. Using =COUNTIF(INDIRECT("Attendance!C9:Z9"), "Present"). is no good because when i add a new name i need the row reference to move down as a row is inserted. ie. both person's formulas count the same row. So, my question: I need the columns to stay the same - C:Z (leyway for future dates) and the rows to change as i insert or delete people from the system.
I have created a very long switch statement, which is too long to be placed in one row in VBA. I have attempted to put a space and underscore at the end of one line and continue the statement on the row below by placing a comma at the start of the second line. VBA will accept my efforts, but when I run the statement in the immediate window, the following error appears.
"Invalid procedure call or argument"
I understand that there are certain rules where I can split a switch statement onto two lines, yet I do not know what they may be.
I have a table that displays data from another worksheet. This is what the cell reference behind the table look like:
View 2 Replies View RelatedI have lets say 12 months of data. I have formulas that reference the latest 6 months. When I insert a new column to input a new month, how can I make the formulas include the new months without manually updating them.
EXAMPLE:
12 months of data exist in cells B3:M3 going from B3(oldest) to M3(newest). Formulas reference latest 6 months of data in cells H3:M3. When a new month hits, I insert a column after column M.I would like the formulas to now reference cells I3:N3 which is now the newest 6 months.
Is it possible to reference a cells value to define a range reference?
[Code] ......
I am trying to define the row value in the range reference with a value in a secondary cell?
I have a workbook with 1000+ worksheets, all of which have 3-letter names. On a master sheet, I would like to make a query of how many non-empty cells there are on a subsidiary worksheet. This works:
Code:
=COUNTA(ABC!A:A)
What I'd like to do from time to time is input in column A a varying set of 3-letter worksheet names, say
AAB
ABC
CDE
And have a formula in column B that converts this to
=COUNTA(AAB!A:A)
=COUNTA(ABC!A:A)
=COUNTA(CDE!A:A)
I've learned that simply substituting the cell references A1, A2, A3 for AAB, ABC and CDE doesn't work. What do I need to do to achieve this?