count where item =x

A

alvin Kuiper

Hi
If i have 10 text boxe like txt_ci1 - txt_ci2 and so on

Is there a way to count all them where there are a X in

Regards

alvin
 
R

Rick Rothstein

Where are the TextBox'es located at... a VB UserForm or directly on a
worksheet? If on a worksheet, where did you get the TextBox'es from... the
Forms toolbar or the Drawing toolbar? Also, are these (going to be) the only
TextBox'es you have? If not, do the names for the 10 TextBox'es you are
interest in all start with "txt_ci" and, if so, are there any other
TextBox'es starting with those letters?
 
R

Rick Rothstein

"hand made" didn't really answer these questions...

"Also, are these (going to be) the only TextBox'es you have?
If not, do the names for the 10 TextBox'es you are interest
in all start with "txt_ci" and, if so, are there any other TextBox'es
starting with those letters?"
 
D

Dave Peterson

As long as you named them nice, you can just loop through them:

Option Explicit
Private Sub CommandButton1_Click()
Dim iCtr As Long
Dim MaxTBX As Long
Dim TotTBX As Long

MaxTBX = 3 '10 for you

TotTBX = 0
For iCtr = 1 To MaxTBX
If LCase(Me.Controls("txt_ci" & iCtr).Value) = "x" Then
TotTBX = TotTBX + 1
End If
Next iCtr

MsgBox TotTBX

End Sub

But if you're looking for an X (some kind of indicator???), maybe using 10
checkboxes would be better. Less chance of typing errors????
 
A

alvin Kuiper

Hi
And thanks , it works
But now if i want to make a check box instead of the text field
cam you help me there.

alvin


"Dave Peterson" skrev:
 
D

Dave Peterson

It's pretty much the same--if you name them nicely:

Option Explicit
Private Sub CommandButton1_Click()
Dim iCtr As Long
Dim MaxCBX As Long
Dim TotCBX As Long

MaxCBX = 3 '10 for you

TotCBX = 0
For iCtr = 1 To MaxCBX
If LCase(Me.Controls("CBX_ci" & iCtr).Value) = True Then
TotCBX = TotCBX + 1
End If
Next iCtr

MsgBox TotCBX

End Sub
 
A

alvin Kuiper

Yes
this work
but again why don't it work in a modul
but only on the button
My button are in a multipage in a userform

If i try to run it from the modul i get a error in:
ME
in the line:
If LCase(Me.Controls("CBX_ci" & iCtr).Value) = True Then

alvin

"Dave Peterson" skrev:
 
D

Dave Peterson

Me is the object that owns the code--in my example, it's the userform.

If you have the code in a general module, then try:
if lcase(userform1.controls("cbx_ci" & ....

(use the name of the userform that you're using (and that's loaded at the
time).)



alvin said:
Yes
this work
but again why don't it work in a modul
but only on the button
My button are in a multipage in a userform

If i try to run it from the modul i get a error in:
ME
in the line:
If LCase(Me.Controls("CBX_ci" & iCtr).Value) = True Then

alvin

"Dave Peterson" skrev:
 
Top