ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Custom functions using arguments with same name (https://www.excelbanter.com/excel-programming/330295-custom-functions-using-arguments-same-name.html)

Spencer Hutton

Custom functions using arguments with same name
 
I have written some functions in VBA to calculate profit margin, cost and
suggested retail price. they are simple in that the RETAILPRICE function has
two arguments, COST and MARGIN. i am also using an argument named COST in
the PROFITMARGIN function. how can i get VBA to recognize these as seperate
variables? do i have to put them in separate modules? or is there a certain
way i need to declare the variables? thank you.

Tom Ogilvy

Custom functions using arguments with same name
 
Public Function RetailPrice(arg1)
Dim Cost as Double
end Function

Public function ProfitMargin(arg1)
Dim Cost as Double
End Function

the value of cost in either function is unrelated to the value of cost in
the other function. The same for Arg1

--
Regards,
Tom Ogilvy


"Spencer Hutton" wrote in message
...
I have written some functions in VBA to calculate profit margin, cost and
suggested retail price. they are simple in that the RETAILPRICE function

has
two arguments, COST and MARGIN. i am also using an argument named COST in
the PROFITMARGIN function. how can i get VBA to recognize these as

seperate
variables? do i have to put them in separate modules? or is there a

certain
way i need to declare the variables? thank you.




Charlie

Custom functions using arguments with same name
 
Private Sub RetailPrice(Cost As Double, Margin As Double)
End Sub
Private Sub ProfitMargin(Cost As Double)
End Sub

In these two subs the args "Cost" are local variables. They are visible
only to the code within the routines. You don't have to use the same
variable name when you call the routines. You can call them like this:

Dim RetailCost As Double
Dim MarginCost As Double
Dim Margin As Double

Call RetailPrice(RetailCost, Margin)
Call ProfitMargin(MarginCost)

....and two different values will be passed into the two routines as "Cost"
when they arrive. Clear as mud?

"Spencer Hutton" wrote:

I have written some functions in VBA to calculate profit margin, cost and
suggested retail price. they are simple in that the RETAILPRICE function has
two arguments, COST and MARGIN. i am also using an argument named COST in
the PROFITMARGIN function. how can i get VBA to recognize these as seperate
variables? do i have to put them in separate modules? or is there a certain
way i need to declare the variables? thank you.


Spencer Hutton

Custom functions using arguments with same name
 
what happens if i want to use something called RetailPrice as an argument in
another function.

"Tom Ogilvy" wrote:

Public Function RetailPrice(arg1)
Dim Cost as Double
end Function

Public function ProfitMargin(arg1)
Dim Cost as Double
End Function

the value of cost in either function is unrelated to the value of cost in
the other function. The same for Arg1

--
Regards,
Tom Ogilvy


"Spencer Hutton" wrote in message
...
I have written some functions in VBA to calculate profit margin, cost and
suggested retail price. they are simple in that the RETAILPRICE function

has
two arguments, COST and MARGIN. i am also using an argument named COST in
the PROFITMARGIN function. how can i get VBA to recognize these as

seperate
variables? do i have to put them in separate modules? or is there a

certain
way i need to declare the variables? thank you.





Tom Ogilvy

Custom functions using arguments with same name
 
You mean you want to have function named retailprice and a variable named
retailprice. Without testing, I suspect you will get an error in the place
where you use it as a variable if the function definition is within scope.
Sounds like a bad idea to me. Why not

fncRetailprice
varRetailprice

or something like that.

--
Regards,
Tom Ogilvy


"Spencer Hutton" wrote in message
...
what happens if i want to use something called RetailPrice as an argument

in
another function.

"Tom Ogilvy" wrote:

Public Function RetailPrice(arg1)
Dim Cost as Double
end Function

Public function ProfitMargin(arg1)
Dim Cost as Double
End Function

the value of cost in either function is unrelated to the value of cost

in
the other function. The same for Arg1

--
Regards,
Tom Ogilvy


"Spencer Hutton" wrote in

message
...
I have written some functions in VBA to calculate profit margin, cost

and
suggested retail price. they are simple in that the RETAILPRICE

function
has
two arguments, COST and MARGIN. i am also using an argument named

COST in
the PROFITMARGIN function. how can i get VBA to recognize these as

seperate
variables? do i have to put them in separate modules? or is there a

certain
way i need to declare the variables? thank you.







Spencer Hutton

Custom functions using arguments with same name
 
that's a better idea, i'll try it thanks.

"Tom Ogilvy" wrote:

You mean you want to have function named retailprice and a variable named
retailprice. Without testing, I suspect you will get an error in the place
where you use it as a variable if the function definition is within scope.
Sounds like a bad idea to me. Why not

fncRetailprice
varRetailprice

or something like that.

--
Regards,
Tom Ogilvy


"Spencer Hutton" wrote in message
...
what happens if i want to use something called RetailPrice as an argument

in
another function.

"Tom Ogilvy" wrote:

Public Function RetailPrice(arg1)
Dim Cost as Double
end Function

Public function ProfitMargin(arg1)
Dim Cost as Double
End Function

the value of cost in either function is unrelated to the value of cost

in
the other function. The same for Arg1

--
Regards,
Tom Ogilvy


"Spencer Hutton" wrote in

message
...
I have written some functions in VBA to calculate profit margin, cost

and
suggested retail price. they are simple in that the RETAILPRICE

function
has
two arguments, COST and MARGIN. i am also using an argument named

COST in
the PROFITMARGIN function. how can i get VBA to recognize these as
seperate
variables? do i have to put them in separate modules? or is there a
certain
way i need to declare the variables? thank you.








All times are GMT +1. The time now is 04:37 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com