|
|
 |
Author |
Message |
LewisBrunton

|
Posted: Wed Jun 21 03:23:27 CDT 2006 |
Top |
Excel Programming >> Counting textboxes
Hello! I got this piece of code from someone who helped me with a function
that counts the number of textboxes in a user form. However I do not not what
what 'oUF' means and how to use the function. I have never used functions
before so I do not know how to call it. I tried useing 'Call countTextboxes'
in another Sub but I suppose that you need something else...
Public Function countTextboxes(oUF As UserForm) As Long
Dim iCtrl As Long
For iCtrl = 0 To oUF.Controls.Count - 1
If TypeName(oUF.Controls(iCtrl)) = "TextBox" Then
countTextboxes = countTextboxes + 1
End If
Next iCtrl
End Function
Excel107
|
|
|
|
 |
Norman

|
Posted: Wed Jun 21 03:23:27 CDT 2006 |
Top |
Excel Programming >> Counting textboxes
Hi Franz,
oUF is simply an object variable for a userform.
To demonstrate the use of your function, try:
'=============>>
Public Sub TestIt()
Dim iCtr As Long
iCtr = countTextboxes(UserForm1)
MsgBox iCtr
End Sub
'<<=============
---
Regards,
Norman
> Hello! I got this piece of code from someone who helped me with a function
> that counts the number of textboxes in a user form. However I do not not
> what
> what 'oUF' means and how to use the function. I have never used functions
> before so I do not know how to call it. I tried useing 'Call
> countTextboxes'
> in another Sub but I suppose that you need something else...
>
> Public Function countTextboxes(oUF As UserForm) As Long
> Dim iCtrl As Long
> For iCtrl = 0 To oUF.Controls.Count - 1
> If TypeName(oUF.Controls(iCtrl)) = "TextBox" Then
> countTextboxes = countTextboxes + 1
> End If
> Next iCtrl
> End Function
|
|
|
|
 |
mooncrawler

|
Posted: Wed Jun 21 03:27:40 CDT 2006 |
Top |
Excel Programming >> Counting textboxes
The difference between a function and a subroutine is that a function always
returns a value.
Your function does not. I would do it a little different:
Public Function countTextboxes( oUF As UserForm ) as Long
Dim iCtrl As Long
Dim i as integer
For iCtrl = 0 To oUF.Controls.Count -1
If TypeName(oUF.Controls(iCtrl)) = "TextBox" Then
i = i + 1
End If
Next iCtrl
countTextboxes = i
End Function
From your form-macro, you call i.e.
Dim x As Long
x = countTextBoxes( Me )
> Hello! I got this piece of code from someone who helped me with a function
> that counts the number of textboxes in a user form. However I do not not
> what
> what 'oUF' means and how to use the function. I have never used functions
> before so I do not know how to call it. I tried useing 'Call
> countTextboxes'
> in another Sub but I suppose that you need something else...
>
> Public Function countTextboxes(oUF As UserForm) As Long
> Dim iCtrl As Long
> For iCtrl = 0 To oUF.Controls.Count - 1
> If TypeName(oUF.Controls(iCtrl)) = "TextBox" Then
> countTextboxes = countTextboxes + 1
> End If
> Next iCtrl
> End Function
|
|
|
|
 |
Bob

|
Posted: Wed Jun 21 03:27:38 CDT 2006 |
Top |
Excel Programming >> Counting textboxes
oUF is the userform that it is being called from. If that code is in the
userform, it is not necessary, but if not, you can pass the Me object which
refers to the container object (the userform)
numCBs = countTextboxes(Me)
--
HTH
Bob Phillips
(replace somewhere in email address with gmail if mailing direct)
> Hello! I got this piece of code from someone who helped me with a function
> that counts the number of textboxes in a user form. However I do not not
what
> what 'oUF' means and how to use the function. I have never used functions
> before so I do not know how to call it. I tried useing 'Call
countTextboxes'
> in another Sub but I suppose that you need something else...
>
> Public Function countTextboxes(oUF As UserForm) As Long
> Dim iCtrl As Long
> For iCtrl = 0 To oUF.Controls.Count - 1
> If TypeName(oUF.Controls(iCtrl)) = "TextBox" Then
> countTextboxes = countTextboxes + 1
> End If
> Next iCtrl
> End Function
|
|
|
|
 |
Bob

|
Posted: Wed Jun 21 03:31:59 CDT 2006 |
Top |
Excel Programming >> Counting textboxes
You must be reading different code to me as the code I see increments
countTextboxes which is the name of the function.
--
HTH
Bob Phillips
(replace somewhere in email address with gmail if mailing direct)
>
> The difference between a function and a subroutine is that a function
always
> returns a value.
> Your function does not. I would do it a little different:
>
> Public Function countTextboxes( oUF As UserForm ) as Long
> Dim iCtrl As Long
> Dim i as integer
> For iCtrl = 0 To oUF.Controls.Count -1
> If TypeName(oUF.Controls(iCtrl)) = "TextBox" Then
> i = i + 1
> End If
> Next iCtrl
> countTextboxes = i
> End Function
>
>
> From your form-macro, you call i.e.
>
> Dim x As Long
> x = countTextBoxes( Me )
>
>
>
>
>
>
> > Hello! I got this piece of code from someone who helped me with a
function
> > that counts the number of textboxes in a user form. However I do not not
> > what
> > what 'oUF' means and how to use the function. I have never used
functions
> > before so I do not know how to call it. I tried useing 'Call
> > countTextboxes'
> > in another Sub but I suppose that you need something else...
> >
> > Public Function countTextboxes(oUF As UserForm) As Long
> > Dim iCtrl As Long
> > For iCtrl = 0 To oUF.Controls.Count - 1
> > If TypeName(oUF.Controls(iCtrl)) = "TextBox" Then
> > countTextboxes = countTextboxes + 1
> > End If
> > Next iCtrl
> > End Function
>
>
|
|
|
|
 |
Norman

|
Posted: Wed Jun 21 03:33:21 CDT 2006 |
Top |
Excel Programming >> Counting textboxes
Hi Mooncrawler,
> a function always returns a value.
> Your function does not
What then is the purpose of the function's code line:
>> countTextboxes = countTextboxes + 1
In any event, the funtion worked for me.
---
Regards,
Norman
>
> The difference between a function and a subroutine is that a function
> always returns a value.
> Your function does not. I would do it a little different:
>
> Public Function countTextboxes( oUF As UserForm ) as Long
> Dim iCtrl As Long
> Dim i as integer
> For iCtrl = 0 To oUF.Controls.Count -1
> If TypeName(oUF.Controls(iCtrl)) = "TextBox" Then
> i = i + 1
> End If
> Next iCtrl
> countTextboxes = i
> End Function
>
>
> From your form-macro, you call i.e.
>
> Dim x As Long
> x = countTextBoxes( Me )
>
>
>
>
>
>
>> Hello! I got this piece of code from someone who helped me with a
>> function
>> that counts the number of textboxes in a user form. However I do not not
>> what
>> what 'oUF' means and how to use the function. I have never used functions
>> before so I do not know how to call it. I tried useing 'Call
>> countTextboxes'
>> in another Sub but I suppose that you need something else...
>>
>> Public Function countTextboxes(oUF As UserForm) As Long
>> Dim iCtrl As Long
>> For iCtrl = 0 To oUF.Controls.Count - 1
>> If TypeName(oUF.Controls(iCtrl)) = "TextBox" Then
>> countTextboxes = countTextboxes + 1
>> End If
>> Next iCtrl
>> End Function
>
>
|
|
|
|
 |
|
|