Home |
Search |
Today's Posts |
#1
|
|||
|
|||
VBA passing variables through a function
I have a macro
Sub TestMacro(X,Y) ....calculations based on X and Y values End Sub By putting the "X,Y" in the macro, does this make it a function. Because when I try to look for the macro using the macro button on the toolbar the function "TestMacro" does not show up. It shows up when I remove the X,Y. Do you know what has changed? Also i this a good way to program, I want to be able to input values for X and Y so I thought this would be good since I wouldn't have to keep changing the "TestMacro". Sub macro1() X = 7 Y=5 Call TestMacro(X,Y) End sub |
#2
|
|||
|
|||
VBA passing variables through a function
I is not in the macro list because there is no way that you can pass the
arguments to a macro called from the macro list, Excel just does not provide it, so it doesn't list. It isn't a function. A function use Function instead of Sub. -- HTH RP (remove nothere from the email address if mailing direct) "Jeff" wrote in message ... I have a macro Sub TestMacro(X,Y) ...calculations based on X and Y values End Sub By putting the "X,Y" in the macro, does this make it a function. Because when I try to look for the macro using the macro button on the toolbar the function "TestMacro" does not show up. It shows up when I remove the X,Y. Do you know what has changed? Also i this a good way to program, I want to be able to input values for X and Y so I thought this would be good since I wouldn't have to keep changing the "TestMacro". Sub macro1() X = 7 Y=5 Call TestMacro(X,Y) End sub |
#3
|
|||
|
|||
VBA passing variables through a function
I used this subroutine.
Option Explicit Sub TestMacro(X As Long, Y As Long) MsgBox X + Y End Sub In excel, I hit tools|macro|macros and I typed: 'testmacro 3,5' And I saw a message box with 8 in it. But I think you may want to just ask for the values... Option Explicit Sub TestMacro() Dim X As Double Dim Y As Double X = Application.InputBox("Please enter 1st number", Type:=1) Y = Application.InputBox("please enter 2nd nubmer", Type:=1) MsgBox X + Y End Sub You could also use the builtin Inputbox to get the values, too. And once you decide that you don't want to go through 45 inputboxes, you may want to make a userform to collect the information. Debra Dalgleish has some get started instructions at: http://contextures.com/xlUserForm01.html Jeff wrote: I have a macro Sub TestMacro(X,Y) ...calculations based on X and Y values End Sub By putting the "X,Y" in the macro, does this make it a function. Because when I try to look for the macro using the macro button on the toolbar the function "TestMacro" does not show up. It shows up when I remove the X,Y. Do you know what has changed? Also i this a good way to program, I want to be able to input values for X and Y so I thought this would be good since I wouldn't have to keep changing the "TestMacro". Sub macro1() X = 7 Y=5 Call TestMacro(X,Y) End sub -- Dave Peterson |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Passing parameters Cel Ref) to Sum function | Excel Discussion (Misc queries) | |||
Changing worksheet cells from within a function | Setting up and Configuration of Excel | |||
Passing variables between a form and macro | New Users to Excel | |||
Can I use variables in a Range function? | Excel Discussion (Misc queries) | |||
HOW CAN I GET OFFICE 2003 EXCEL BASIC TO NEST FUNCTIONS LIKE EXCE. | Excel Worksheet Functions |