MrExcel Message Board

Go Back   MrExcel Message Board > Question Forums > Excel Questions

Excel Questions All Excel/VBA questions - formulas, macros, pivot tables, general help, etc. Please post to this forum in English only.

Reply
 
Thread Tools Display Modes
Old Mar 25th, 2002, 08:18 PM   #1
Minthe
New Member
 
Join Date: Mar 2002
Posts: 3
Default

I have a workbook that I've created with 4 main worksheets. The first is a "logon" worksheet - the user selects a "path" to follow by clicking on one of the command buttons. (The purpose of the workbook is to dynamically create voucher sheets for expense reimbursement by project. Each project has its own workbook - each workbook has multiple worksheets.)

So far so good. BUT (user requirement) the user renames each worksheet. Of course, there is no main list of possible names - the user could name a worksheet 'INeedAStiffDrink' if desired. The user can NOT alter the layout of the worksheet however so all the sums for each sheet are always in G39, G40, and G41.

THEN I have a worksheet called Summary. And, you guessed it, this sheet needs to summarize all the data found in cells G39, G40, and G41 for all worksheets found within the workbook.

How do I do this since I don't know beforehand the names of the worksheets nor the number of worksheets in the workbook???

And yes, I know this would be easier in Access but that's not an option.

Thanks in advance. After reading through the forum listing I figure you guys will definitely have a way to do this!

Minthe



Minthe is offline   Reply With Quote
Old Mar 25th, 2002, 08:36 PM   #2
BabyTiger
Board Regular
 
Join Date: Mar 2002
Location: Wellington
Posts: 104
Default

Hi,

You can try to count to number of sheets on your workbook first:

i = Application.Sheets.Count

The above code will identify the number of worksheets on your workbook. Then based on that, you can go through each sheet to find the data you wanted:

For i = Application.Sheets.Count To 1 Step -1
If Application.Sheets(i).Name <> "Logon" And Application.Sheets(i).Name Then
Value = Application.Sheets(i).range("G40").value
End If
Next i

HTH
BabyTiger is offline   Reply With Quote
Old Mar 25th, 2002, 09:59 PM   #3
Yogi Anand
MrExcel MVP
 
Join Date: Mar 2002
Location: Michigan USA
Posts: 11,452
Default

Hi Minthe:
Look at DATA|CONSOLIDATE feature -- it is intended to provide the consolidation summary in your SUMMARY sheet (data is pulled from the appropriate worksheets in the Workbook).
So, if I as a user change the name of one or more worksheets, you don't have to be concerned by whether the user changed the name of the worksheet or not.

HTH
Please post back if it works for you ... otherwise explain a little further and let us take it from there!
__________________
Regards!

Yogi Anand, D.Eng, P.E.
Energy Efficient Building Network LLC
www.energyefficientbuild.com
Yogi Anand is offline   Reply With Quote
Old Mar 25th, 2002, 10:08 PM   #4
Minthe
New Member
 
Join Date: Mar 2002
Posts: 3
Default

This where I am so far - I found another post with code that places the names of each of the worksheets in column A. I thought then I could try to use that as a reference to tell Excel the name of the worksheet to reference. (getting in way over my head).

The Data/consolidate feature might be an answer - but I can't figure out how to tell it to consolidate from all worksheets in the book, not just the current worksheet? Esp since I won't know the names of the worksheets in the workbook ahead of time?

(I am I'm explaining this well enough!)

[ This Message was edited by: Minthe on 2002-03-25 21:13 ]
Minthe is offline   Reply With Quote
Old Mar 25th, 2002, 10:22 PM   #5
Dave Patton
Board Regular
 
Join Date: Feb 2002
Location: Calgary, Alberta Canada
Posts: 2,065
Default


You could create 2 dummy worksheets and name them Start1_02 and End1_02; these names hopefully are unusual enough that no one will want them.

Set these 2 sheets before and after possible active sheets.

Hide the 2 Sheets.

Formula =sum(Start1_02:End1_02!G39)
Dave Patton is offline   Reply With Quote
Old Mar 25th, 2002, 10:56 PM   #6
Yogi Anand
MrExcel MVP
 
Join Date: Mar 2002
Location: Michigan USA
Posts: 11,452
Default

Quote:
On 2002-03-25 21:08, Minthe wrote:
This where I am so far - I found another post with code that places the names of each of the worksheets in column A. I thought then I could try to use that as a reference to tell Excel the name of the worksheet to reference. (getting in way over my head).

The Data/consolidate feature might be an answer - but I can't figure out how to tell it to consolidate from all worksheets in the book, not just the current worksheet? Esp since I won't know the names of the worksheets in the workbook ahead of time?

(I am I'm explaining this well enough!)

[ This Message was edited by: Minthe on 2002-03-25 21:13 ]
Hi Minthe:
As I understand it, you have a workbook with a number of worksheets that have been templated with input on certain cells that facilitate totalling on some cell like G40. You will setup your consolidation on the summary sheet before hand referring to the worksheets by their generic names viz sheet1, sheet2, ...
What somebody does after that to the names of the worksheets is immaterial -- you ought to look at HELP on consolidation, or some examples of it to get a good feel for it.

__________________
Regards!

Yogi Anand, D.Eng, P.E.
Energy Efficient Building Network LLC
www.energyefficientbuild.com
Yogi Anand is offline   Reply With Quote
Old Mar 26th, 2002, 12:11 AM   #7
Dave Hawley
Banned
 
Join Date: Feb 2002
Posts: 1,582
Default

Hi Minthe

If you are using VBA then you should always use a sheets CodeName (it's the one nOT in brackets in the Project Explorer) this cannot be changed by a user.

If you simly have a number of Worksheet functions in your "Summary" sheet you only need to ensure it is always the last sheet. The use:

=SUM(Sheet1:Summary!G4) This way any sheets added between these 2 sheets will automatically be include.

Here is a VBA Function

Function SumAllSheets(rSumRange As Range)
Dim sSheet As Worksheet
Dim MyVal
Application.Volatile
For Each sSheet In ActiveWorkbook.Worksheets
If sSheet.CodeName <> "Sheet6" Then
MyVal = WorksheetFunction.Sum _
(sSheet.Range(rSumRange.Address), MyVal)
End If
Next
SumAllSheets = MyVal
End Function

Dave Hawley is offline   Reply With Quote
Old Mar 26th, 2002, 09:09 AM   #8
Minthe
New Member
 
Join Date: Mar 2002
Posts: 3
Default

THANK YOU EVERYONE!

I truly appreciate everyone's help and input. I was at my wit's end. The suggestion that seemed to be easiest and work the best for me was from the two Dave's.

You guys single-handedly(double-handedly?)ended HOURS of frustration for me. As you can probably tell, I'm definitely NOT an Excel expert! You guys are great!
Minthe is offline   Reply With Quote
Reply

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On

Forum Jump


All times are GMT -4. The time now is 11:34 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
All contents Copyright 1998-2012 by MrExcel Consulting.
diabetic desserts recipes recipes Diabetic Soups Holiday Pizza Recipes Popcorn Recipes Recipes For Microwave Pasta Recipes Casserole Recipes Chili Recipes Curry Recipes Crockpot Recipes Apples Recipes Bread Recipes Vegetarian Recipes Vegetable recipes Desserts Recipes Appetizers Ethnic Recipes Meat Dishes Barbecue Recipes Sauces Recipes Marinade Recipes Low Fat Recipes Frugal Gourmet Kitchen Classics Recipes On The Grill Cook Books Seafood Recipes Cajun Recipes Breads Low Fat Low Fat Breads Bread Machine Recipes Yeast Breads Quick Breads Fat Free Vegetarian Salad Recipes Eggplant Recipes Radish Recipes Tomato Recipes Jalapeno Recipes Potato Recipes Lettuce Recipes Cabbage Recipes Beans Ambrosia Recipes Biscotti Recipes Desserts Low Fat Cookie Recipes Cheesecake Recipes Cake Recipes Pie Recipes Muffin Recipes Custard Recipes Best Appetizers Appetizers Low Fat Salsa Recipes Dip Recipes International Recipes Afghan Recipes Alaska Recipes French Recipes German Recipes Greek Recipes Italian Recipes Spanish Recipes Thai Recipes Korean Recipes Chinese Recipes Mexican Recipes Indian Recipes Beef Recipes Pork Pork & Ham Pork Butts Pork Chop Recipes Pork Ribs Rulled Pork Poultry Recipes Stews Recipes Ground Beef Barbecue Grill Barbecue Smoker All Purpose Sauce BBQ Sauce Barbecue Sauce Carolina BBQ Sauce Pickle Recipes Marinades Smoking Low Fat Appetizers & Dips Low Fat Breakfast Low Fat Cakes Low Fat Cheesecakes Low Fat Cookies Low Fat Desserts Low Fat Fish & Seafood Low Fat Meats Low Fat Pasta Low Fat Pies Low Fat Salads Low Fat Sandwiches Low Fat Sauces & Condiments Low Fat Sides Low Fat Soups Low Fat Vegetarian Baker's Dozen Taste of Home Recipe Book Bon Appetit Cookbook Blacktie Cookbook Buster Cook Book Cookbook USA Cook Book Cook Book Sara's Cookbook Sara's Cookbook Appetizers and Dips Poultry recipes Diabetic recipes Holiday recipes Miscellaneous recipes 110 recipes 1986 Usenet cookbook 2900 recipes Cyberrealm recipes Great sysops of world Specialty recipes Ceideburg recipes Cheese recipes Chili recipes Fruits recipes Garlic recipes Great chefs of NY Londontowne recipes Raisins recipes Recipes for kids US Food Vegetarian recipes Bread recipes Drinks Meat Dishes Brisket recipes Caribou recipes Chicken recipes Filet mignons recipes Pork recipes Swordfish recipes Turkey recipes Pasta recipes Uncategorized recipes Ethnic recipes Canada recipes English recipes Ethiopia recipes Germany recipes Greece recipes Mexican recipes Philippines recipes Welsh recipes Microwave recipes Soups recipes Vegetable recipes Asparagus recipes Barley recipes Brown rice recipes Lentil recipes Mushrooms recipes Salads recipes Wild rice Desserts recipes Cakes recipes Chocolate recipes Cookies recipes Ice cream recipes