?
Solved

VBA - Count how many textboxes aren't blank

Posted on 2009-05-20
8
Medium Priority
?
791 Views
Last Modified: 2012-05-07
I've created a form in Word and on it I have 8 text boxes for user input. However not all the text boxes will be used all the time so how do I count how many have been used?

Any coding examples would be very much appreciated.

Sorry but 95 points is all I have.
Sorry tag should be Word 2007
0
Comment
Question by:daleoran
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
  • 2
8 Comments
 
LVL 4

Expert Comment

by:Xcone
ID: 24431342
Can you specify wether you use formfields within a document. Or do you have a form (as in Dialog)?

You can access formfields collection with VBA "ActiveDocument.FormFields"
You can access controls on a form with VBA "<FormName>.Controls"

Just use a For Each loop on those, and perform additional checks if you're dealing with textboxes. Then perform the check if it contains text.

I can give you a code example once you specify the type of editbox you're talking about.
0
 
LVL 10

Author Comment

by:daleoran
ID: 24431400
Sorry it's a form (as in dialog) called from a macro using InputForm.Show vbModal
0
 
LVL 76

Accepted Solution

by:
GrahamSkan earned 400 total points
ID: 24433545
This code will run from a button on the UserForm
Private Sub CommandButton1_Click()
    Dim t As Integer
    Dim ctrl As Control
    
    For Each ctrl In Me.Controls
        If TypeOf ctrl Is TextBox Then
            If ctrl.Text = "" Then
                t = t + 1
            End If
        End If
    Next ctrl
    MsgBox "There " & IIf(t = 1, "is ", "are ") & t & " blank text box" & IIf(t = 1, "", "es") & " on this form"
End Sub

Open in new window

0
Want to be a Web Developer? Get Certified Today!

Enroll in the Certified Web Development Professional course package to learn HTML, Javascript, and PHP. Build a solid foundation to work toward your dream job!

 
LVL 10

Author Comment

by:daleoran
ID: 24472093
Works a treat Graham but I have worded the question wrong - points are yours but hope you can help just a wee bit more.

What should have said was that I have a group of text boxes on a form which has around 20 text boxes in total. How do I count the unused boxes from the group of 8.
0
 
LVL 4

Assisted Solution

by:Xcone
Xcone earned 100 total points
ID: 24475222
If they're grouped using a groupbox or other container, you could replace the line:

For Each ctrl In Me.Controls

with

For Each ctrl in NameOfGroupBox.Controls
0
 
LVL 76

Expert Comment

by:GrahamSkan
ID: 24475605
How are they grouped? I don't know what the gropubox that XCone refers to is, but if they are in a Frame, the syntax is the same:

For Each ctrl in Me.Frame1.Controls
0
 
LVL 4

Expert Comment

by:Xcone
ID: 24475938
I meant Frame, sorry about that. GroupBox and Frame are the same thing. I use them a lot in another environment where it's called a GroupBox.
0
 
LVL 10

Author Comment

by:daleoran
ID: 24484937
Hope you don't mind the split with Xcone. He did suggest the code first even if the name was slightly wrong.

Many thanks for all the help.
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction Authors who set out to write any sort of lengthy piece for online submission—be it a long question or comment on a technical form, an article, or a substantial blog entry—often find it useful to work up a draft in an editor other t…
If you work with Word a lot, you probably use styles. If you use styles a lot, you've probably balled your fist more often than not when working with the ribbon. In Word 2007/2010, one of the things that I find missing when using styles is a quic…
This video shows where to find templates, what they are used for, and how to create and save a custom template using Microsoft Word.
If you’ve ever visited a web page and noticed a cool font that you really liked the look of, but couldn’t figure out which font it was so that you could use it for your own work, then this video is for you! In this Micro Tutorial, you'll learn yo…
Suggested Courses
Course of the Month10 days, 3 hours left to enroll

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question