Countif возвращает только 1 - PullRequest
0 голосов
/ 29 апреля 2019

Новичок в VBA и пытается написать оператор, который подсчитывает, сколько раз слово "мужчина" появляется в столбце.Я использую этот код:

Sub countif()
Dim StudentType As String
StudentType = "Male"
Dim ForeignCount As Long

ForeignCount = 0
   If WorksheetFunction.countif(Worksheets("Sheet1").Range("D2:D10"), "Male") Then
ForeignCount = ForeignCount + 1
MsgBox ForeignCount
End If
End Sub

Отображение окна сообщения 1, в столбце есть 4 экземпляра слова Male.

Заранее спасибо!

1 Ответ

1 голос
/ 29 апреля 2019

Вы неправильно используете функцию листа, функция возвращает для вас счетчик, просто поместив переменную.

       ForeignCount   = 0
       ForeignCount  = WorksheetFunction.countif(Worksheets("Sheet1").Range("D2:D10"), "Male") 
       MsgBox ForeignCount
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...