Counting textboxes  
Author Message
LewisBrunton





PostPosted: 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





PostPosted: 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





PostPosted: 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





PostPosted: 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





PostPosted: 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





PostPosted: 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
>
>