ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Passing Values to Function (https://www.excelbanter.com/excel-programming/287195-passing-values-function.html)

Newbie

Passing Values to Function
 
I have a set of textbox controls on a userform called n1,
n2 etc.

I have a common function that needs to handle each of
these controls after they are updated.

I want the name (n1, etc..) to be passed to the function
and substituted into the code that then runs against this
control. How to I pass the control name into the function?
What I have does not work!

' control n1
Private Sub n1_AfterUpdate()
ValidateNumber("n1")
End Sub

' control n2
Private Sub n2_AfterUpdate()
ValidateNumber("n2")
End Sub

'Function (example to test value passed
Private Function ValidateNumber(nBox)
MsgBox nBox.Value
End Function

Bob Phillips[_6_]

Passing Values to Function
 


--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"Newbie" wrote in message
...
I have a set of textbox controls on a userform called n1,
n2 etc.

I have a common function that needs to handle each of
these controls after they are updated.

I want the name (n1, etc..) to be passed to the function
and substituted into the code that then runs against this
control. How to I pass the control name into the function?
What I have does not work!



You have a couple of choices. You can pass the name to the function as you
currently do and access it through the controls collection, like

Private Function ValidateNumber(nBox)
MsgBox UserForm1.Controls(nBox).Value
End Function


or pass the textbox object and access the text property, like

' control n1
Private Sub n1_AfterUpdate()
ValidateNumber n1
End Sub

' control n2
Private Sub n2_AfterUpdate()
ValidateNumber n2
End Sub

Private Function ValidateNumber(nBox As MSForms.TextBox)
MsgBox nBox.Value
End Function

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)



Nigel[_8_]

Passing Values to Function
 
Thanks Bob, very helpful

"Bob Phillips" wrote in message
...


--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)

"Newbie" wrote in message
...
I have a set of textbox controls on a userform called n1,
n2 etc.

I have a common function that needs to handle each of
these controls after they are updated.

I want the name (n1, etc..) to be passed to the function
and substituted into the code that then runs against this
control. How to I pass the control name into the function?
What I have does not work!



You have a couple of choices. You can pass the name to the function as you
currently do and access it through the controls collection, like

Private Function ValidateNumber(nBox)
MsgBox UserForm1.Controls(nBox).Value
End Function


or pass the textbox object and access the text property, like

' control n1
Private Sub n1_AfterUpdate()
ValidateNumber n1
End Sub

' control n2
Private Sub n2_AfterUpdate()
ValidateNumber n2
End Sub

Private Function ValidateNumber(nBox As MSForms.TextBox)
MsgBox nBox.Value
End Function

--

HTH

Bob Phillips
... looking out across Poole Harbour to the Purbecks
(remove nothere from the email address if mailing direct)






----== Posted via Newsfeed.Com - Unlimited-Uncensored-Secure Usenet News==----
http://www.newsfeed.com The #1 Newsgroup Service in the World! 100,000 Newsgroups
---= 19 East/West-Coast Specialized Servers - Total Privacy via Encryption =---


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

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