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 Apr 17th, 2002, 06:00 AM   #1
stevenmcheerful
New Member
 
Join Date: Apr 2002
Posts: 20
Default


Hello - I'm trying to create some templates that I want to be able to add data to from an ASP app. I'm struggling with a couple of issues:

- How do you (or *can* you) enter code in
the formula window ? i.e., I want to COUNTA() and SUM() some columns that will be variable width, but the Formula entry will not accept VBA like Range("A1").End and the like ...

- I gather that you cannot create a VBA Function (add-in) that returns a Range ?
(that would be really helpful)

- I have created some user-defined Functions in VBA, but they seem limited to returning a numerical result. So I guess in order to do things like choose a Range, such as A1.End(xlDown) it needs to be in a Macro.

I can write macros, but I want them to fire off based on the data in my columns - just like cell formulas. How do I make that happen ?

and last, is there a web site or specific book I ought to pick up to cover these things ?

Thank-You

stevenmcheerful is offline   Reply With Quote
Old Apr 17th, 2002, 11:02 AM   #2
Al Chara
MrExcel MVP
 
Join Date: Feb 2002
Location: Monterrey, Mexico
Posts: 1,433
Default

Try the following:
Code:
Sub EnterFormula()
Dim rng As String
rng = Range(Range("A1"), Range("A1").End(xlDown)).Address(rowabsolute:=False, columnabsolute:=False)
Range("B1").Formula = "=MAX(" & rng & ")"
End Sub
Barrie as some good links:
http://ca.geocities.com/b_davidso/
Try some books here:
http://www.mrexcel.com/book.shtml

__________________
Kind regards,

Al Chara
Al Chara is offline   Reply With Quote
Old Apr 17th, 2002, 12:04 PM   #3
stevenmcheerful
New Member
 
Join Date: Apr 2002
Posts: 20
Default


Thanks - it works well

How though, do I use something like
that to behave like a formula, in that
I want that Sub to run whenever the
spreadsheet is calculated - my Excel
subs and Functions will be executed
in a batch mode - the user will never
see the spreadsheet.

The spreadsheet is a means to to getting
the numbers calculated and the Charted
with an Excel chart. The chart is then
exported to a .GIF file.

In other words, is there a RUN() command
or something else that is automatic and
does not require a button or some other
interactivity ?

thanks again
stevenmcheerful is offline   Reply With Quote
Old Apr 17th, 2002, 12:26 PM   #4
Al Chara
MrExcel MVP
 
Join Date: Feb 2002
Location: Monterrey, Mexico
Posts: 1,433
Default

Sure its called an event. In excel, hit Alt+F11, that will bring you to VBA. Then look to the left for the project explorer. Double click "ThisWorkbook". At the top you will see a drop down list "(General)", click on it and select "Workbook". Then on the drop down list to the right, select "SheetCalculate" You should see the following:
Code:
Private Sub Workbook_SheetCalculate(ByVal Sh As Object)

End Sub
Insert your code in between Private Sub and End Sub. "Sh" is a variable name that represents the worksheet that is being calculated.
__________________
Kind regards,

Al Chara
Al Chara is offline   Reply With Quote
Old Apr 17th, 2002, 02:20 PM   #5
stevenmcheerful
New Member
 
Join Date: Apr 2002
Posts: 20
Default


Events - alright I will look into it

Don't know why I hadn't run into that before

Thanks for your assistance and the
link / book suggestion

stevenmcheerful is offline   Reply With Quote
Old Apr 18th, 2002, 01:49 PM   #6
stevenmcheerful
New Member
 
Join Date: Apr 2002
Posts: 20
Default


One last question please:

I'm doing OK with EnterFormula

I will be entering data into excel from
a program (ASP actually) so therefore
I will never know the lenght of my primary
data column (i.e. how many rows) ahead
of time.

so if A2:A50 is some column of data numbers,
(the next instantiation of the program may
bring a column of data A2:A385, that is
to say A2:A? )
how do I restrict all of the formulas from
B2:T? from calculating all the way down
to T65536 ?

what I am doing is this (so far) in
SheetCalculate I am finding the last row
in A (call it 200) and then setting it
to g_numRows in this sort of way:

If (Range("N2").Value = "") Then
For i = 3 To g_numrows
s = "N" & i
Range("N2").Copy Destination:=Range(s)
Next i
End If

is this what ppl are doing ? or is there
a better way (I suspect there is)

- steve
stevenmcheerful 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 05:28 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