Подсчет количества ячеек в диапазоне в зависимости от их содержимого методами Count, CountA и CountBlank объекта WorksheetFunction из кода VBA Excel.
Метод WorksheetFunction.Count
Определение
Определение метода Count объекта WorksheetFunction в VBA Excel:
Метод WorksheetFunction.Count подсчитывает в заданном диапазоне (массиве) количество ячеек (элементов массива), содержащих числа, и возвращает значение типа Double.
Синтаксис
Синтаксис метода Count объекта WorksheetFunction:
WorksheetFunction.Count(Arg1, Arg2, ..., Arg30) |
Параметры
Параметры метода Count объекта WorksheetFunction:
Параметр | Описание |
---|---|
Arg1-Arg30 | От 1 до 30 аргументов, которые могут содержать различные типы данных или ссылаться на них. |
Примечания
- Метод WorksheetFunction.Count позволяет получить количество числовых значений в диапазоне ячеек или в массиве.
- При подсчете учитываются аргументы, которые являются числами, датами или текстовым представлением чисел.
- Логические значения учитываются при подсчете только в том случае, если они введены непосредственно в список аргументов.
Метод WorksheetFunction.CountA
Определение
Определение метода CountA объекта WorksheetFunction в VBA Excel:
WorksheetFunction.CountA — это метод, который подсчитывает в заданном диапазоне количество непустых ячеек, и возвращает значение типа Double.
Синтаксис
Синтаксис метода CountA объекта WorksheetFunction:
WorksheetFunction.CountA(Arg1, Arg2, ..., Arg30) |
Параметры
Параметры метода CountA объекта WorksheetFunction:
Параметр | Описание |
---|---|
Arg1-Arg30 | От 1 до 30 аргументов, которые могут содержать различные типы данных или ссылаться на них. |
Примечания
- Метод WorksheetFunction.CountA позволяет получить количество непустых ячеек в заданном диапазоне.
- Непустыми являются ячейки, которые содержат любые данные, включая значения ошибок и пустые строки (
""
). - Тесты показывают, что метод WorksheetFunction.CountA в массиве, созданном путем присвоения ему значений диапазона, содержащего пустые ячейки, все равно считает все элементы массива, как содержащие значения.
Метод WorksheetFunction.CountBlank
Определение
Определение метода CountBlank объекта WorksheetFunction в VBA Excel:
WorksheetFunction.CountBlank — это метод, который подсчитывает в заданном диапазоне количество пустых ячеек, и возвращает значение типа Double.
Синтаксис
Синтаксис метода CountBlank объекта WorksheetFunction:
WorksheetFunction.CountBlank(Arg1) |
Параметры
Параметры метода CountBlank объекта WorksheetFunction:
Параметр | Описание |
---|---|
Arg1 | Диапазон, в котором необходимо подсчитать количество пустых ячеек. |
Примечания
- Метод WorksheetFunction.CountBlank позволяет получить количество пустых ячеек в заданном диапазоне.
- Пустыми являются ячейки, которые не содержат никаких данных.
- Также подсчитываются, как пустые, ячейки с формулами, которые возвращают пустые строки (
""
). - Ячейки с нулевыми значениями в подсчете не участвуют.
Примеры
Таблица для строк кода VBA Excel со ссылками на диапазон "A1:C5"
, а также с массивом его значений в качестве аргументов:
Примеры с WorksheetFunction.Count
Sub Primer1() Dim n As Double, a() As Variant n = WorksheetFunction.Count(Range(«A1:C5»)) MsgBox n ‘Результат: 8 a = Range(«A1:C5») n = WorksheetFunction.Count(a) MsgBox n ‘Результат: 8 n = WorksheetFunction.Count(«раз», «два», «три», 1, 2, 3) MsgBox n ‘Результат: 3 n = WorksheetFunction.Count(«раз», «два», «три», «1», «2», «3», 1, 2, 3) MsgBox n ‘Результат: 6 n = WorksheetFunction.Count(Empty, Empty, 0, 0, «», «») MsgBox n ‘Результат: 4 n = WorksheetFunction.Count(True, False, «True», «False») MsgBox n ‘Результат: 2 End Sub |
Метод WorksheetFunction.Count можно использовать для подсчета количества числовых значений в массиве, если он создан путем присвоения ему значений диапазона. Тогда логические значения ИСТИНА и ЛОЖЬ, если они встречаются в диапазоне, в подсчете количества числовых значений не участвуют.
Примеры с WorksheetFunction.CountA
Sub Primer2() Dim n As Double, a() As Variant n = WorksheetFunction.CountA(Range(«A1:C5»)) MsgBox n ‘Результат: 13 a = Range(«A1:C5») n = WorksheetFunction.CountA(a) MsgBox n ‘Результат: 15 n = WorksheetFunction.CountA(«раз», «два», «три», 1, 2, 3) MsgBox n ‘Результат: 6 n = WorksheetFunction.CountA(Empty, Empty, 0, 0, «», «») MsgBox n ‘Результат: 6 End Sub |
Примеры с WorksheetFunction.CountBlank
Sub Primer3() Dim n As Double, a As Range n = WorksheetFunction.CountBlank(Range(«A1:C5»)) MsgBox n ‘Результат: 2 Set a = Range(«A1:C5») n = WorksheetFunction.CountBlank(a) MsgBox n ‘Результат: 2 End Sub |
Следующая статья по этой теме: VBA Excel. Методы CountIf и CountIfs.
In VBA, using Excel 2016, I am trying to count the number of non-blank cells for a given range but using only the cell integer reference. I’ve tried the following:
WB.Sheets(1).Range(Cells(2, X), _
Cells(2, Y)).Cells.SpecialCells(xlCellTypeConstants).count
Where X and Y are cell references for the columns. Please assist.
asked Mar 3, 2016 at 11:24
You can do this using the excel formula CountA
as you’re probably aware.
You can also use this in VBA using:
with WB.sheets(1)
WorksheetFunction.CountA(Range(.Cells(2, X), .Cells(2, Y)))
end with
Vasily
5,7073 gold badges20 silver badges34 bronze badges
answered Mar 3, 2016 at 11:33
TomTom
9,6873 gold badges31 silver badges48 bronze badges
1
Try this:
Range(WB.Sheets(1).Cells(2, X), _
WB.Sheets(1).Cells(2, Y)).Cells.SpecialCells(xlCellTypeConstants).count
You should add the workbook and worksheet before the cell and not before the range
answered Mar 3, 2016 at 11:52
juanorajuanora
51210 silver badges21 bronze badges
0
try in this way:
Dim nonBlanck as long
nonBlanck = WorksheetFunction.CountA(WB.Sheets(1). _
Range(Cells(2, X), Cells(2, Y)). _
SpecialCells(xlCellTypeConstants))
However, if WB.SHeets(1)
is not active then you could have some problems. Therefore try with this improved solution:
Dim nonBlanck as long
With WB.Sheets(1)
nonBlanck = WorksheetFunction.CountA( _
.Range(.Cells(2, X), .Cells(2, Y)). _
SpecialCells(xlCellTypeConstants))
End With
answered Mar 3, 2016 at 11:30
Kazimierz JaworKazimierz Jawor
18.8k7 gold badges35 silver badges55 bronze badges
You need a way to define the range of clipped columns and then apply SpecialCells
:
Sub dural()
Dim x As Long, y As Long, rng As Range
x = 3
y = 5
Set rng = Range(Cells(2, x), Cells(Rows.Count, y))
MsgBox rng.Cells.SpecialCells(xlCellTypeConstants).Count
End Sub
answered Mar 3, 2016 at 11:44
Gary’s StudentGary’s Student
95.3k9 gold badges58 silver badges98 bronze badges
0 / 0 / 0 Регистрация: 12.04.2013 Сообщений: 10 |
|
1 |
|
Подсчет непустых ячеек в столбце15.01.2014, 09:05. Показов 40197. Ответов 11
Всем доброго времени суток!
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
15.01.2014, 09:05 |
Ответы с готовыми решениями: Подсчет количества непустых ячеек диапазона Просуммируйте по столбцам содержимое непустых ячеек Перебор и печать непустых ячеек столбца Excel При значении ячеек в столбце А присвоить определенное значение ячейкам в столбце B 11 |
0 / 0 / 0 Регистрация: 12.04.2013 Сообщений: 10 |
|
15.01.2014, 11:13 [ТС] |
3 |
Смотрел. У меня, почему то, всё время выдаёт ошибку
0 |
RAVproFFI 33 / 33 / 1 Регистрация: 15.10.2013 Сообщений: 130 |
||||
15.01.2014, 11:32 |
4 |
|||
Можно также через массив
1 |
0 / 0 / 0 Регистрация: 12.04.2013 Сообщений: 10 |
|
15.01.2014, 14:43 [ТС] |
5 |
Всё работает!, но… можно ли сделать так, чтобы при выборе ячеек фильтром на странице, показывало бы значение только видимых ячеек???
0 |
RAVproFFI 33 / 33 / 1 Регистрация: 15.10.2013 Сообщений: 130 |
||||
15.01.2014, 14:48 |
6 |
|||
в смысле видимых? может строки скрыты а не ячейки? если так то добавить условие
1 |
0 / 0 / 0 Регистрация: 12.04.2013 Сообщений: 10 |
|
15.01.2014, 14:51 [ТС] |
7 |
Ты — гений!!!
0 |
33 / 33 / 1 Регистрация: 15.10.2013 Сообщений: 130 |
|
15.01.2014, 15:00 |
8 |
))) эт visual basic, не я придумал
0 |
HEnogapok 0 / 0 / 0 Регистрация: 12.04.2013 Сообщений: 10 |
||||
15.01.2014, 15:55 [ТС] |
9 |
|||
Ну, тогда обнаглею: как твоё творение присобачить вот сюда:
вот у меня там цикл по от нуля до трёх, а надо, чтобы в «То» подставлялось значение, полученное из твоего кода (количество видимых строк)??? Добавлено через 27 минут
0 |
33 / 33 / 1 Регистрация: 15.10.2013 Сообщений: 130 |
|
18.01.2014, 09:18 |
10 |
HEnogapok, если to сделать кол-во видимых строк, то в твоем цикле с offset может взять значение из скрытой строки. Может лучше заполнять addrs во время цикла где проверяется пуста и скрыта ли строка?
0 |
toiai 3217 / 966 / 223 Регистрация: 29.05.2010 Сообщений: 2,085 |
||||
18.01.2014, 10:58 |
11 |
|||
Поскольку примера основного кода , предложу такой вариант (немного изменив Ваш):
0 |
0 / 0 / 0 Регистрация: 12.04.2013 Сообщений: 10 |
|
18.01.2014, 13:59 [ТС] |
12 |
Всё правильно. Так и замутил. Спасибо за помощь!
0 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
18.01.2014, 13:59 |
Помогаю со студенческими работами здесь Как в коде добавить условие подсчета среднего значения непустых ячеек Нужно что бы макрос случайным образом выбирал 100 непустых ячеек из столбцов Есть эксель файл, в нем есть лист номер 2, в нем столбцы A и B Нужно что бы… Сцепка ячеек построчно, выборка непустых значений из диапазона и подстановка их в одну ячейку а1: стул Подсчет суммы в столбце до первой пустой строки и новый подсчет В одном столбце таблицы БД заменить все пустые ячейки на содержимое ячеек в другом столбце из той же строки Есть таблица .dbf и надо в одном столбце заменить все пустые ячейки на содержимое… Подсчёт непустых ячеек во всём столбце и особый диапазон 1. Есть функция… Искать еще темы с ответами Или воспользуйтесь поиском по форуму: 12 |
- Функция Excel VBA COUNTA
Функция Excel VBA COUNTA
Возможно, вы часто использовали функции COUNT и COUNTA в Microsoft Excel. При этом COUNT захватывает все числовые значения в ячейке, COUNTA захватывает все непустые ячейки (включая строки). Можно ли каким-либо образом использовать функцию COUNTA через VBA? Абсолютно да! Вы можете использовать функцию COUNTA через VBA в качестве функции рабочего листа (так как она является частью семейства WorksheetFunction внутри VBA) для подсчета непустых ячеек через заданный диапазон рабочего листа. Преимущество функции COUNTA над COUNT заключается в том, что она может считать все (числа, строки, специальные символы, значения ошибок и т. Д.), Кроме пустых ячеек в данном диапазоне, тогда как COUNT может считать только количество ячеек, состоящих из числовых значений.,
Синтаксис VBA COUNTA:
Синтаксис функции VBA COUNTA показан ниже:
Где,
Arg1 — Определяет аргумент для этой функции, который является обязательным и может принимать любое непустое значение, такое как число, строка, значения ошибки (например, # N / A, # DIV / 0!), Специальные символы и т. Д. Остальные аргументы необязательный.
Эта функция может принимать до 30 аргументов за один вызов. Аргумент может состоять из диапазона ячеек или одного значения, которое вводится вручную.
Как использовать функцию COUNTA в Excel VBA?
Ниже приведены различные примеры использования функции COUNTA в Excel с использованием кода VBA.
Вы можете скачать этот шаблон VBA COUNTA Excel здесь — Шаблон VBA COUNTA Excel
Пример № 1 — VBA COUNTA с ручными аргументами в качестве входных данных
Мы увидим, как работает функция COUNTA, когда мы предоставим ей ручные аргументы в VBA. Выполните следующие шаги:
Шаг 1. Вставьте новый модуль в редактор Visual Basic (VBE). Нажмите на вкладку Вставка > выберите модуль.
Шаг 2: Определите новую подпроцедуру во вновь вставленном модуле, которая может содержать ваш макрос.
Код:
Sub Example_1 () End Sub
Шаг 3: Решите, где мы хотим сохранить выходные данные для функции COUNTA. Я хочу сохранить его в ячейке A2 листа с именем « Пример 1 ». Для этого нам нужно использовать метод Sheets.Range в VBA. Смотрите следующий скриншот для справки:
Код:
Sub Example_1 () Sheets ("Пример 1"). Range ("A2") End Sub
Этот фрагмент кода выбирает ячейку A2 в качестве диапазона из листа с именем Пример 1.
Шаг 4: Используйте оператор присваивания, чтобы мы могли присвоить значение ячейке, к которой будет осуществляться доступ, с помощью кода выше. Добавьте объект с именем WorksheetFunction, чтобы мы могли получить доступ к функции COUNTA под ним.
Код:
Sub Example_1 () Sheets ("Пример 1"). Range ("A2") = WorksheetFunction End Sub
Шаг 5: Поставьте точку (.) После указанного объекта, и вы увидите список функций, доступных для использования под ним. Выберите COUNTA из списка нескольких доступных функций, который позволяет подсчитывать непустые ячейки или значения.
Шаг 6: Укажите аргументы вручную в функции COUNTA. Аргументы: «Rajnish», «# N / A», 1, «*», True. Мы попытались привести все типы данных в качестве аргумента этой функции.
Код:
Sub Example_1 () Sheets ("Пример 1"). Range ("A2") = WorksheetFunction.CountA ("Rajnish", "# N / A", 1, "*", True) End Sub
Шаг 7: Запустите этот фрагмент кода, нажав F5 или кнопку Run, и просмотрите результат под ячейкой A2 листа « Пример 1 » в активной рабочей книге.
В этом коде мы хотим, чтобы система посчитала входные аргументы и сохранила счет под ячейкой A2 в примере 1.
Пример № 2 — VBA COUNTA для подсчета непустых ячеек в заданном диапазоне
Предположим, у меня есть данные по всему столбцу A, и мне нужно посчитать, что является непустыми строками во всем столбце. Поскольку весь столбец состоит из более чем 10 строк Lac, для меня является идеальным трудоемким переходом и подсчетом каждой непустой ячейки. Смотрите частичный скриншот данных ниже.
Выполните следующие шаги:
Шаг 1: Определите новую подпроцедуру, которая может содержать ваш макрос.
Код:
Sub Example_2 () End Sub
Шаг 2: Определите две новые переменные в этой подпроцедуре как Range, используя Dim . Одна переменная будет полезна для хранения диапазона столбца входного аргумента, а другие переменные будут полезны для хранения ячейки, в которой мы хотим получить результат в виде подсчитанного числа.
Код:
Sub Example_2 () Dim rng_1 As Range Dim op_cell As Sub End Sub
Здесь rng_1 сохранит диапазон ввода для функции COUNTA. Вывод COUNTA будет сохранен в переменной op_cell .
Шаг 3: Теперь установите диапазон для обеих переменных, используя свойство VBA Set. Это должно быть сделано, потому что мы не можем напрямую присвоить значение переменной, определенной как объект диапазона.
Код:
Sub Example_2 () Dim rng_1 As Range Dim op_cell Как Range Set rng_1 = Range ("A: A") Set op_cell = Range ("B1") End Sub
Здесь переменная rng_1 была установлена в диапазон всего столбца с именем A. op_cell установлена в ячейку B1, поскольку это будет ячейка, которая содержит выходные данные COUNTA.
Шаг 4: Теперь используйте общий оператор присваивания для переменной op_cell, чтобы мы могли сохранить выходные данные в ячейке, для которой установлена эта переменная. Это может рассматриваться как выходная инициализация.
Код:
Sub Example_2 () Dim rng_1 As Range Dim op_cell В качестве Range Set rng_1 = Range ("A: A") Set op_cell = Range ("B1") op_cell = End Sub
Шаг 5: Используйте объект WorksheetFunction в правой части оператора присваивания (это будет выражение, которое будет оценено, и значение будет сохранено в ячейке с переменной op_cell), чтобы инициализировать класс, к которому мы можем обращаться, а также использовать Функция COUNTA.
Код:
Sub Example_2 () Dim rng_1 As Range Dim op_cell Как Range Set rng_1 = Range ("A: A") Set op_cell = Range ("B1") op_cell = WorksheetFunction End Sub
Шаг 6: Как только вы нажмете точку (.) После объекта WorksheetFunction, вы сможете получить доступ ко всем функциям, доступным в этом классе. Перейдите к функции COUNTA и дважды щелкните по ней, чтобы выбрать.
Шаг 7: Используйте переменную rng_1 в качестве входного аргумента в COUNTA. Следовательно, эта функция в классе объектов функций рабочего листа может подсчитывать непустые ячейки, присутствующие во всем столбце A.
Код:
Sub Example_2 () Dim rng_1 As Range Dim op_cell В качестве диапазона Set rng_1 = Range ("A: A") Set op_cell = Range ("B1") op_cell = WorksheetFunction.CountA (rng_1) End Sub
Шаг 8: Запустите этот код, нажав F5 или кнопку Run, и вы увидите результат, как показано ниже, в ячейке B1 активного листа из рабочей книги.
В ячейке B1 мы можем видеть число как 17. Это означает, что у нас есть 17 непустых ячеек в столбце A рабочего листа. Вы можете вообще не видеть 17 на этом скриншоте, так как он является частичным. Вы могли бы лучше видеть рабочий лист и перемещаться по столбцу А.
То, что нужно запомнить
- Вы можете использовать функцию VBA COUNTA, когда вам нужно посчитать количество непустых ячеек, присутствующих в данном диапазоне.
- COUNTA рассматривает все значения, такие как числа, строки, значения ошибок, логические значения, пустой текст («»). Однако он не учитывает пустую ячейку.
- Пустые ячейки не будут учитываться с помощью функции COUNTA и будут игнорироваться.
- Вы можете использовать аргументы вручную в функции VBA COUNTA, и она все еще работает.
Рекомендуемые статьи
Это руководство к функции VBA COUNTA. Здесь мы обсудим, как использовать функцию COUNTA в Excel VBA вместе с практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи —
- Как создать коллекционный объект в VBA?
- Как считать символы в Excel?
- FileCopy в VBA (Примеры с шаблоном Excel)
- Подсчет ячеек с текстом в Excel | Шаблон Excel
ALFA Пользователь Сообщений: 243 |
Подскажите, как, открыв макросом стороннюю книгу, можно на определенном ее листе посчитать кол-во заполненных ячеек в столбце A. |
hk1209 Пользователь Сообщений: 271 |
|
ALFA Пользователь Сообщений: 243 |
Set wb2 = Workbooks.Open(«C:UsersU_M06TTDesktopExcelКачествоМарт 2014.xls», 0, 1) ‘открыл книгу Скажите что еще написать, я в этом не оч силен. |
ALFA Пользователь Сообщений: 243 |
#4 15.05.2014 20:31:10 Нашел решение, всем спасибо!
|
||
Scripter Пользователь Сообщений: 255 |
#5 16.05.2014 01:48:48 так кол-во заполненных
так номер последней строки
Изменено: Scripter — 16.05.2014 08:58:46 |
||||
ALFA Пользователь Сообщений: 243 |
А если необходимо открыв книгу, посчитать Кол-во заполненных ячеек, предварительно выбрав лист, как использовать Worksheetfunction.CountA(Columns(1)) |
Scripter Пользователь Сообщений: 255 |
#7 16.05.2014 17:44:27 Если нужно чтоб при открытии книги срабатывал код, то нужно поместить код в «Эта книга»
Если вам нужно посчитать ВСЕ заполненные (не найти последнюю строку) ячейки на листе:
В определенном столбце
или
Найти последнюю строку на листе, если последнее значение которое увеличивает диапазон может быть в любом столбце
Найти последнюю строку на листе по определенному полю
Изменено: Scripter — 16.05.2014 17:48:46 |
|||||
Когда есть несколько ячеек без данных, заполненных в диапазоне в Excel, и вы просто хотите знать, сколько непустых ячеек или пустых ячеек находится в этом диапазоне, как вы можете это сделать? Теперь я могу представить вам два способа подсчета пустых или непустых ячеек в диапазоне в Excel.
Подсчет пустых или непустых ячеек с помощью формулы
Подсчитайте пустые или непустые ячейки с помощью VB
Легко подсчитывайте непустые ячейки с помощью Kutools for Excel
Подсчет пустых или непустых ячеек с помощью формулы
В Excel есть формулы, которые помогут быстро подсчитать только пустые или непустые ячейки в диапазоне.
Например, вам нужно подсчитать пустые ячейки только в этом диапазоне, как показано ниже, и выбрать пустую ячейку, чтобы ввести эту формулу. = СЧЁТЕСЛИ (A1: G11; «») (диапазон A1: G11 указывает диапазон, из которого вы хотите подсчитать пустые ячейки, вы можете изменить его по своему усмотрению) и нажмите кнопку Enter на клавиатуре, вы посчитаете пустые ячейки. Смотрите скриншот:
Совет: вы можете использовать эту формулу: = СЧИТАТЬПУСТОТЫ (A1: G11) для подсчета только пустых ячеек. Если вы хотите подсчитывать только непустые ячейки, вы можете использовать эту формулу = СЧЁТ (A1: G11) (диапазон A1: G11 указывает диапазон, из которого вы хотите подсчитать непустые ячейки, вы можете изменить его по своему усмотрению), или вы также можете использовать эту формулу = СЧЁТЕСЛИ (A1: G11; «<>»).
Подсчет пустых или непустых ячеек с помощью VBA
Выполните следующие шаги, чтобы использовать код VBA для преобразования подсчета только пустых или непустых ячеек.
1. Держать ALT и нажмите F11 на клавиатуре, чтобы открыть Microsoft Visual Basic для приложений окно.
2. Нажмите Вставить > Модули, и скопируйте VBA в модуль.
VBA: подсчитывать только пустые ячейки
Sub CountBlanks()
'Updateby20140310
Dim rng As Range
Dim WorkRng As Range
Dim total As Long
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each rng In WorkRng
If IsEmpty(rng.Value) Then
total = total + 1
End If
Next
MsgBox "There are " & total & " blank cells in this range."
End Sub
3. Нажмите Run для запуска VBA и KutoolsforExcel появится диалоговое окно для выбора рабочего диапазона, см. снимок экрана:
4. Затем нажмите OK в диалоговом окне, и отображается другое диалоговое окно, чтобы сообщить вам, сколько пустых ячеек находится в этом выбранном диапазоне.
Совет: если вы хотите подсчитать непустые ячейки, вы можете сделать, как указано выше, и использовать следующий VBA:
VBA: подсчитывать только непустые ячейки
Sub CountNonBlanks()
'Updateby20140310
Dim rng As Range
Dim WorkRng As Range
Dim total As Long
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each rng In WorkRng
If Not IsEmpty(rng.Value) Then
total = total + 1
End If
Next
MsgBox "There are " & total & " not blank cells in this range."
End Sub
Легко подсчитывайте непустые ячейки с помощью Kutools for Excel
Наблюдения и советы этой статьи мы подготовили на основании опыта команды Выбрать непустые ячейки полезности Kutools for Excel помогает выбрать все непустые ячейки в выбранном диапазоне одним щелчком мыши, а затем легко подсчитать количество выбранных ячеек.
1. Выберите диапазон с непустыми ячейками, которые вы хотите подсчитать, затем щелкните Кутулс > Выберите > Выберите непустые ячейки. Смотрите скриншот:
2. Затем появится диалоговое окно, чтобы сообщить вам, сколько непустых ячеек в выбранном диапазоне, нажмите кнопку ОК, и эти непустые ячейки будут выбраны немедленно. Смотрите скриншот:
Если вы хотите получить бесплатную пробную версию (30-день) этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.
Легко подсчитывайте непустые ячейки с помощью Kutools for Excel
Относительные статьи:
- Подсчет повторяющихся значений в столбце в Excel
- Подсчет объединенных ячеек в Excel
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Формулировка задачи:
Есть диапазон
rang1=range(cells(a,b), cells(c,d))’ где a,b,c,d заранее определенные переменные.
Как получить количество непустых ячеек rang1. Может существует какая-либо встроенная функция?
Код к задаче: «Подсчет количества непустых ячеек диапазона»
textual
MsgBox WorksheetFunction.CountA(rang1)
Полезно ли:
15 голосов , оценка 4.267 из 5