Solved

How can I user a countif formula in a Userform?

Posted on 2012-03-21
4
481 Views
Last Modified: 2012-03-21
The following formula works in an excel worksheet with on problems. I would like to use something similiar if possible. Can anyone help me?

Private Sub TxtBx2_Change()
    If TxtBx2 = "MD" Then
        Me.TxtBx1.Value = Concatenate(Me.TxtBx2.Text, Right(Concatenate("000", CountIf(ReportList![A3:A200], "=" & TxtBx2.Value) + 1, 3)))
    Else
    If TxtBx2 = "SFC" Then
        Me.TxtBx1.Value = Concatenate(Me.TxtBx2.Text, Right(Concatenate("000", CountIf(ReportList![A3:A200], "=" & TxtBx2.Value) + 1, 3)))
    Else
    If TxtBx2 = "DOM" Then
        Me.TxtBx1.Value = Concatenate(Me.TxtBx2.Text, Right(Concatenate("000", CountIf(ReportList![A3:A200], "=" & TxtBx2.Value) + 1, 3)))
    Else
    End If
End Sub

My wish is to select a check box which then places the appropriate code in textbox2. This will then look for the highest number used for the selected section and adds 1 for help organise the Bin No. in sequence.

Any assistence will be appreciated.

THANKS
Report-Test.xlsm
0
Comment
Question by:user2073
  • 2
  • 2
4 Comments
 
LVL 85

Expert Comment

by:Rory Archibald
ID: 37746170
That appears to equate to:

Private Sub TxtBx2_Change()
    Select Case TxtBx2
        case "MD", "SFC", "DOM"
        Me.TxtBx1.Value = Me.TxtBx2.Text & Format(Application.CountIf(Sheets("ReportList").Range("A3:A200"), TxtBx2.Value) + 1, "000")
    End Select
End Sub

Open in new window

0
 

Author Comment

by:user2073
ID: 37746417
Thanks for the quick responce. Works great but also need the number to increase by 1 for the case selections each time a record is saved. eg.
1st MD record should be MD001
2nd MD record becomes MD002 and so on.
1st SFC record should be SFC001
2nd SFC record becomes SFC002 and so on.
I hope this provides a little more clarity. See the "RED" Practice Area for examples.

Thanks
0
 
LVL 85

Accepted Solution

by:
Rory Archibald earned 500 total points
ID: 37746464
Ah - small change:
Private Sub TxtBx2_Change()
    Select Case TxtBx2
        Case "MD", "SFC", "DOM"
        Me.TxtBx1.Value = Me.TxtBx2.Text & Format(Application.CountIf(Sheets("ReportList").Range("A3:A200"), TxtBx2.Value & "*") + 1, "000")
    End Select
End Sub

Open in new window


Note: you might want to use a combobox to provide the valid values for the MD, SFC etc.
0
 

Author Closing Comment

by:user2073
ID: 37746538
Great result many thanks for you assistence.
Keep up this fabulous service.
0

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Recently Microsoft released a brand new function called CONCAT. It's supposed to replace its predecessor CONCATENATE. But how does it work? And what's new? In this article, we take a closer look at all of this - we even included an exercise file for…
Technology opened people to different means of presenting information, but PowerPoint remains to be above competition. Know why PPT still works today.
The viewer will learn how to use a discrete random variable to simulate the return on an investment over a period of years, create a Monte Carlo simulation using the discrete random variable, and create a graph to represent the possible returns over…
This Micro Tutorial demonstrate the bugs in Microsoft Excel for Mac with Pivot Charts.

746 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

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now