ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Counting textboxes (https://www.excelbanter.com/excel-programming/364931-counting-textboxes.html)

franzklammer

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

Norman Jones

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



"franzklammer" wrote in message
...
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 Phillips

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)

"franzklammer" wrote in message
...
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[_3_]

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 )






"franzklammer" schreef in bericht
...
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 Phillips

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)

"mooncrawler" wrote in message
. ..

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 )






"franzklammer" schreef in bericht
...
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 Jones

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



"mooncrawler" wrote in message
. ..

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 )






"franzklammer" schreef in bericht
...
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







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

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