Avatar of upobDaPlaya
upobDaPlaya
 asked on

CountIf unable to evaluate value in cell

I have a VBA COUNTIF statement that will not evaluate a value within a cell unless I go into the call and re-type the cell.  The cell value is text.  As an example in the cell is 10.10.2018.  If I go into the cell and re-type in the value (note I was sent the spreadsheet, I did not type the original value).

When I set a variable to the cell it correctly displays "10.10.2018" (before any re-type.  Thus, why am I forced to re-type in the value in order for the CountIf to recognize the value ?

 Count = Application.CountIf(Cells(5, i), "10.10.2018")
VBAMicrosoft ExcelMicrosoft Office

Avatar of undefined
Last Comment
Subodh Tiwari (Neeraj)

8/22/2022 - Mon
Subodh Tiwari (Neeraj)

Since you are not using a wild card in the criteria, the Countif will count if there is an exact match. Maybe the cell contains a leasing or trailing spaces and when you retype you just type the value and it counts correctly.

You may try Countif with a wild card like this...
Count = Application.CountIf(Cells(5, i), "*10.10.2018*")

Open in new window

Or if you just want to check if there is a text "10.10.2018" in the cell, you may try something like this...
If InStr(Cells(5, i), "10.10.2018") > 0 Then
    'do something
End If

Open in new window

Or
Count = InStr(Cells(5, i), "10.10.2018")

Open in new window

upobDaPlaya

ASKER
I need to check all cells in a column and if any cell in the column does not equal my variable such as strCk where strCk = '10.10.2018'
then I will stop the code..

I thought the CountIF may be most efficient ?
Subodh Tiwari (Neeraj)

In that case you may try something like this...

'Say you want to check the occurrence of variable strCk in Column A
If Application.CountIf(Columns("A"), "*" & strCk & "*") > 0 Then
    'do other stuff here
Else
    Exit Sub
End If

Open in new window

If you have a variable which holds the column number to check, you may replace "A" with the variable.
Experts Exchange has (a) saved my job multiple times, (b) saved me hours, days, and even weeks of work, and often (c) makes me look like a superhero! This place is MAGIC!
Walt Forbes
Subodh Tiwari (Neeraj)

Or just exit the sub if no value is found in the column like...

If Application.CountIf(Columns("A"), "*" & strCk & "*") = 0 Then    
    Exit Sub
End If

Open in new window

upobDaPlaya

ASKER
Isnt * a wildcard ?  if Column A has "09.09.2018" and strCk has "09.09.2019" would the Count be 0 ?  That would be the hope I desire,
ASKER CERTIFIED SOLUTION
Subodh Tiwari (Neeraj)

Log in or sign up to see answer
Become an EE member today7-DAY FREE TRIAL
Members can start a 7-Day Free trial then enjoy unlimited access to the platform
Sign up - Free for 7 days
or
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.
Not exactly the question you had in mind?
Sign up for an EE membership and get your own personalized solution. With an EE membership, you can ask unlimited troubleshooting, research, or opinion questions.
ask a question
upobDaPlaya

ASKER
ok... i will try in the morning...
Get an unlimited membership to EE for less than $4 a week.
Unlimited question asking, solutions, articles and more.
upobDaPlaya

ASKER
Spot on !
Subodh Tiwari (Neeraj)

Thanks for the feedback!