count where item =x

  • Thread starter Thread starter alvin Kuiper
  • Start date Start date
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
 
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?
 
"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?"
 
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????
 
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:
 
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
 
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:
 
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:
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top