Automatically Determine The Range For The Subtotal?
May 9, 2008
I have a table that needs to be subtotaled. The lines for the sub-total already exist and cannot be changed.
How can I insert a subtotal into a cell that will automatically determine the range for the subtotal? Each subtotal will range (single columns only) will be from 1 line to 100 lines. I will work from top to bottom down the page so is there a way to make it work like the Sigma summation sign that is on one of the toolbars?
I am creating a workbook with multiple worksheets, one overview sheet and then one sheet for each month of the year.
In the monthly sheets I have a Category column for which I have created a drop-down menu of expense categories. Then I have an Expense Amount column where I enter the amount spent.
The Category column will not necessarily remain sorted by category because I will be entering the expenses as they come up throughout the month so the categories will be all mixed up, unless I manually sort them.
What I want to do is somehow automatically calculate a running subtotal by Category (that will update with each new entry) and simultaneously automatically transfer the running subtotal for each Category to a specific cell on the overview sheet.
I have posted about creating an Excel worksheet which would help determine proper entry into a retirement plan. Another idea that I had entailed setting up a separate worksheet which would return the dates of entry following an employee's date of hire. Therefore, an employee hired on 8/5/2005 would have dates of entry following that stand at 1/1/2006 and 7/1/2006. Then, I had an idea of creating a formula or function to add up the number of hours that the employee had worked.
Setting up a separate worksheet with the number of hours that an employee worked during the initial eligiblity computation period and the subsequent computation periods (separate respective columns for the initial eligibility computation period and then for each subsequent computation period) would help. I would calculate using sum functions.
So, to sketch this out: One sheet would have the employee's DOH
Another worksheet would have the Dates of Entry subsequent to that DOH (e.g. for an employee hired 8/5/2005 the next Dates of Entry entails 1/1/2006, 7/1/2006, and 1/1/2007)
Yet Another Worksheet would sum the total hours that an employee had worked since DOH on a month by month basis (i.e. the total number of hours than employee had worked since his or her DOH up to a certain point on a monthly basis; e.g. an employee hired on 8/5/2005 would have on the sheet the calculation of the hours this employee had worked as of from 8/5/2005 to 9/1/2005, then the next column would have the total the number of hours worked by the employee from 8/5/2005 to 10/1/2005, etc.)
Finally, the worksheet with the DOH information would have a column which would (this would probably entail heavy use of VLOOKUP) snag the information as to how many months and years an employee had worked as of the subsequent Dates of Entry; if the employee had worked 1,000 hours and 12 months as of 1/1/2007, for example, the employee would enter the plan.
To explain the situation further:
The employee must work 1,000 hours during his or her initial eligibility computation period. That starts on the day of the first hour that an employee works for the company. So, an employee hired on August 1, 2005 who worked one hour on that day must 1,000 hours from then till August 1, 2006 to enter the plan as soon as possible. If the employee did not work 1,000 hours during that period, then the eligibility computation period shifts to the plan year. So, if the employee did not work 1,000 hours between August 1, 2005 and August 1, 2006, but did work 1,000 hours between January 1, 2006 and December 31, 2006 (this of course presumes the plan operates on a calendar year)
I have a spreadsheet that I am trying to automatically determine a dollar figure based on the number of points a cell has. A if the first set of a goal, B is their actual goal and C is the actual number of points. I am trying to determine the dollar figure for D. For each point between A and B the person gets .50cents. For every point above B and up to C the person gets 1.50. In the case below if the person doesn't reach B than they would only get the 50 cents from A up to C.
A= 2537, B=3252 C=2820
I have attached my spreadsheet and everything is perfect except on one point. I can't figure out how to tell the spreadsheet if it is a negative number to give me zero.
way to do this but i have a sheet that is into 5 - 6 thous rows, in one of the columns (names) i sort it by names and then order it by subtotal for certain values.
What i need to know, is there anyway i can take just the subtotal values out and put onto another spreadsheet without copying and pasting it all as there are lots of subtotals and this would help alot as the other info is not nec. just the subtotal'd info. either that or is there anyway i can highlight the subtotal'd row info in yellow/bold text anything like that that would make it stand out without having to do it manually?
I’m trying to get my sheet so that at each change in month it creates a sum of the value but I want to sum to show up in the subtotal value column.....
How I can incorporate dynamic ranges in a Subtotal function when creating a macro? The raw file always has a different amount of rows. I already tried to record the function with relative references but when I look at the VBA code I get something like this:
I am having a bit of amnesia right now, but I know there are some smart cookies out there who can do this in a second or two.
I have a certain range in a worksheet (D6:D27). I need to find the first blank row, or the last row with data +1. I would like a worksheet function of some sort that might be used like this
=LastRow(D6:D27)
The result would be row 10 (the first blank row).
I have been searching for the past hour and just can not get anything to work right. I have tried many different suggestions, but I still draw a blank.
Column A contains a giant list of pathogens, with each often appearing in several ways (with/without species name, various misspellings, etc.) Column B contains truncated versions of maybe 20 or so pathogens that I'm interested in. What I want in column C is for an "X" or something to appear every time the code finds a pathogen of interest (that is, from column B) in the corresponding row of column A. For example:.............
How to decide the two range object variant represent the same range? Plz check the following code, How to decide Rng4 and Rng5 is or not the same range?
Sub IsTheSameRange() With ActiveSheet LastRow = .Cells(65536, "B").End(xlUp).Row Set Rng1 = .Range(.Cells(3, "K"), .Cells(LastRow, "K")) Set Rng2 = .Range(.Cells(3, "AE"), .Cells(LastRow, "AE")) Set Rng3 = .Range(.Cells(3, "BQ"), .Cells(LastRow, "BQ")) Set Rng = Application.Union(Rng1, Rng2, Rng3) Set Rng4 = Rng.SpecialCells(xlCellTypeFormulas, 23) Set WhlRng = .Range("A3:DR" & LastRow) Set Rng5 = WhlRng.SpecialCells(xlCellTypeFormulas, 23) End With End Sub
I have a report of time balances that employees enter. I need to run a macro that looks at each cell and determines if the number is divisible by 4. (We only track vacation and ill time in 4 hour increments) If the number the employee entered is not evenly divisible by 4, I want the cell highlighted.
All of this I have figured out, the loop to look at each row, the IsNumeric function to test if there is a number...
My problem is with the MOD. I figure I should be testing number MOD number, but it is not reliable.
4.1 Mod 4 returns 0 .5 Mod 4 returns 0
I just need it to return zero if the number is evenly divisible by 4.
I considered the RoundUp function, but then it would also round anything above 3 hrs to 4, and that won't work.
I have formula that copies a range of cells and pastes to another worksheet (based on the click of a button on that row), however i need to adapt it to define which sheet to paste it to based on the contents of another cell on the same row. The below code all works for the first part of this, i added in Sub MN and Sub Month_to_Classify to resolve the second part. When i run this at the moment i get
Run-time error '1004': Method 'Range' of object'_Global' failed and the highlighted line of code is in Sub MN: Range(ActiveCell.Offset(0, -8)).Name = "Man"
I have a large collection of datasets, sorted/grouped by rows. I need to perform some calculations against these SETS (Ave, Low, Median, etc.).
The number of member in each SET is variable (1 to NN), the number of SET Members is included in the data. Example:
Code: 3 Data Sets: Row Set Members Price Ave 1 A 4 $1.00 2 A 4 $1.25 3 A 4 $1.50 4 A 4 $1.75 5 B 1 $4.00 6 C 3 $10.45 7 C 3 $14.50 8 C 3 $17.75
how to compute the AVE value for each SET above?
I am thinking if I can determine the FIRST Row number for each set, add the MemberQty as an ~offset to determine the LAST Row, then use an Indirect reference to compute the ave, something like:
=AVERAGE(INDIRECT("D"&A1&":D"&A1+C1)) The SET's Ave value should be added to EACH row in each SET.
I am struggling trying to point a formula like this to the First Row of the NEXT set.
How can determine if a range is empty without looping it till the first value is found? On a 5x5 range a for loop is not that bad but what if its the whole worksheet? Is there a fast way to do this?
I'm feeling pretty inadequate at the moment ... I'm trying to determine something that (I think) would be relatively simple ... How do I determine if a single column , for example, (B:B) is blank (or null)? Alternatively, how do I determine if a range of cells in a column or columns, for example, (B1:B30) or (B1:D30) is blank (or null)?
I am trying to create a macro that determines if a range I am selecting has any non-numeric fields. If it finds say an cell beginning with a letter a message box appears letting the user know and possibly give the cell and value it found.
The code below loops thru a specified range I12:I26 for a duplicate combobox value in each cell. When I enter the same combobox value in range I43:I54 it still finds a duplicate.
I have a spreadsheet where I need to check if one cell value is greater than 6 other cell values in the row, then have it enter 1 in another cell if so.
For example: C1=5 C2=2 C3=3 C4=2 C5=7 C6=0 C7=4
The largest value is in cell C5, so I would like C6 to show that it is by entering a 1 in there.
I am trying to make a spreadsheet for bank reconiliation. I found this formula, =if( countif($B1:$B$1000,D1),D1)=0,D1,"") but there are two open parathese and three close. What needs to be corrected?
This will probably turn out to be a really quick one: I've got some named ranges I'm working with that in of themselves use Offset to automatically expand a list.
this formula and have tried various nested ifs and I can come up with a formula that works. What I am trying to do it to is detirmine what my multiplier should be based on a range of numbers. Let me try and explain lets say A1 is a number and B1 is a number and I need the Formula for C1.
If B1 is between 0 and 5 multiply A1 by 2 if B1 is between 5 and 10 multiply A1 by 4. and so on and so on. Is there an easy formula for this? I know it might be trivial but im stumped for some reason.
I am looking for a formula to determine the oldest date in a range of cells. BUT, the part that's kicking me in the pants here, is that the range will change.
In column D, I have a person's name. The number of times that person's name will appear will change every time I run this formula. In column F, I have a date & time. I'm looking for a formula that will determine the oldest date/time associated with that person.
I have a column with comboboxes in each cell, each with LinkedCell set to the cell the combobox sits inside. Once the selection is made, I hide the combobox with .Visible="False". I want to be able to unhide hidden comboboxes by selecting a range of cells in the column, and then finding the corresponding comboboxes within each cell in this range, and unhide them.
I am trying to add a number to invoices (invoice numbers) on a UserForm that is used to make and/or modify scheduled service records for a cleaning business. We fill out the schedule well in advance of when the jobs are scheduled to be done, some customers are on a set schedule such as once a week, everyother week or once a month. Some just call in when they need cleaning. Each day has 27 rows set aside for possible customers (most are not used). We make out as many invoices in advance as is possible and fill-in the rest as they call-in. This leaves a lot of gaps between days
I have an auto-advancing formula tha takes a helper column to give me invouce numbers when there is a customer listed in column B and blanks space where there is no customer listed. This does make for volitile invoice numbers.
Formula in row 3 of the invoice coulmn "A": =IF(B3="","",H3) Formula in row 3 of helper column "H": =IF(B3="",H2,H2+1)
The helper column only advances if there is a customer listed in column B of that row otherwise it repeates the last number. The invoice column only displays this helper number if there is a customer listed in column B of that row. I can't figure out how to get this to work on a UseerForm with vba.
Before my workbook is open the following code is run, which asks the user to enter the password. Depending on the password Range("name").Value takes values from the worksheet "Data" from table "M4:M20". The list of passwords is in the table "L4:L20". My code seems to be not optimal (too long). Does anybody know how to optimize this code?
Sub GoodMorning() On Error Goto Error 'Prompt the user for a password and unhide the worksheet if correct Select Case InputBox("Please enter the password", _ "Enter Password")
Case Is = "" Call HideSheets MsgBox "Sorry, that password is incorrect! Please contact the administrator.", _ ............