ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Passing multiple variables through functions (https://www.excelbanter.com/excel-programming/359710-passing-multiple-variables-through-functions.html)

Xiazer[_4_]

Passing multiple variables through functions
 

I can successfully pass at least one variable to a function but I cannot
pass multiple for the life of me. here is an example

something simple like trying to send a box to hide a group of 2 buttons
as visible

Private Sub cmdHideButtons_Click()
hidegrp(cmdButton1.visible, cmdButton2.visible)

End Sub

Function hidegrp(Value1 as Boolean, Value2 as Boolean)
Value1 = False
Value2 = False

End Function


Now this function Wont work, but i just wanted to illistrate the
principle of passing 2 variables. now if I did it with just one
variable it works fine, other wise it gives me an error *Compile error
: Expected: =*. All i want to know is why it does this and is there a
way around it


--
Xiazer
------------------------------------------------------------------------
Xiazer's Profile: http://www.excelforum.com/member.php...o&userid=31581
View this thread: http://www.excelforum.com/showthread...hreadid=535970


Bob Phillips[_5_]

Passing multiple variables through functions
 
Xiazer wrote:
I can successfully pass at least one variable to a function but I cannot
pass multiple for the life of me. here is an example

something simple like trying to send a box to hide a group of 2 buttons
as visible

Private Sub cmdHideButtons_Click()
hidegrp(cmdButton1.visible, cmdButton2.visible)

End Sub

Function hidegrp(Value1 as Boolean, Value2 as Boolean)
Value1 = False
Value2 = False

End Function


Now this function Wont work, but i just wanted to illistrate the
principle of passing 2 variables. now if I did it with just one
variable it works fine, other wise it gives me an error *Compile error
: Expected: =*. All i want to know is why it does this and is there a
way around it


You don't need th brackets

Private Sub cmdHideButtons_Click()
hidegrp cmdButton1.visible, cmdButton2.visible
End Sub

Lucas Swanson

Passing multiple variables through functions
 
A couple of things:

Firstly, since you are not returning any value with your hidegrp procedure
it would be better to make it a "Sub" rather than a "Function"

Sub HideGrp(Value1 as Boolean, Value2 as Boolean)

Secondly, the problem is in the calling of the function, rather than the
definition of it and is thanks to a peculiarity in VBA formatting. It does
not particularly like parentheses for some reason. Anyways, either of the
following should work for you: leaving out the parentheses or using the
"Call" keyword. I prefer using Call as I find it less ambiguous.

Private Sub cmdHideButtons_Click()
call hidegrp(cmdButton1.visible, cmdButton2.visible)
End Sub

"Bob Phillips" wrote:

Xiazer wrote:
I can successfully pass at least one variable to a function but I cannot
pass multiple for the life of me. here is an example

something simple like trying to send a box to hide a group of 2 buttons
as visible

Private Sub cmdHideButtons_Click()
hidegrp(cmdButton1.visible, cmdButton2.visible)

End Sub

Function hidegrp(Value1 as Boolean, Value2 as Boolean)
Value1 = False
Value2 = False

End Function


Now this function Wont work, but i just wanted to illistrate the
principle of passing 2 variables. now if I did it with just one
variable it works fine, other wise it gives me an error *Compile error
: Expected: =*. All i want to know is why it does this and is there a
way around it


You don't need th brackets

Private Sub cmdHideButtons_Click()
hidegrp cmdButton1.visible, cmdButton2.visible
End Sub



All times are GMT +1. The time now is 10:03 AM.

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