Добрый день! Изменено: Елена Дроздова — 15.04.2022 11:45:38 |
|
pantel1987 Пользователь Сообщений: 76 |
#2 15.04.2022 12:01:08 Попробуйте через
Он считает количество строк в умной таблице без заголовков |
||
Благодарю! |
|
МатросНаЗебре Пользователь Сообщений: 5507 |
#4 15.04.2022 12:37:40
|
||
бывает, что Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете! |
|
Вы правы. Этих тонкостей не счесть. Мне нужно количество заполненных строк умной таблицы |
|
по какой колонке определять последнюю заполненную строку? Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете! |
|
Ігор Гончаренко Пользователь Сообщений: 13746 |
#9 15.04.2022 16:03:49
Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете! |
||
Прошу прощения, никак не могу разобраться в коде(( |
|
функция FistCellAtRowWithOutData как пользоваться функцией показано в процедуре Test Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете! |
|
Елена Дроздова Пользователь Сообщений: 106 |
#12 15.04.2022 16:58:56 Спасибо, буду разбираться |
mor_sergey 77 / 11 / 0 Регистрация: 28.03.2018 Сообщений: 828 |
||||
1 |
||||
08.02.2020, 23:02. Показов 6920. Ответов 5 Метки нет (Все метки)
Ребят нужно было количество строк 3 столбца умной таблицы найти. Сделал циклом от безисходности….неужели споссоба проще нет
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
08.02.2020, 23:02 |
5 |
Dinoxromniy 1232 / 670 / 238 Регистрация: 22.12.2015 Сообщений: 2,089 |
||||||||||||
09.02.2020, 09:01 |
2 |
|||||||||||
нужно было количество строк 3 столбца умной таблицы найти. Вы определитесь, что вы найти хотите
SpecialCells(xlCellTypeConstants) Тут вы считаете количество ячеек, в которых вбиты константы.
If Not IsEmpty(cell) Then xx = xx + 1 Тут — количество непустых ячеек.
1 |
mor_sergey 77 / 11 / 0 Регистрация: 28.03.2018 Сообщений: 828 |
||||||||
09.02.2020, 09:43 [ТС] |
3 |
|||||||
Dinoxromniy, количество непустых ячеек нужно мне. спасибо большое Добавлено через 15 минут
Добавлено через 2 минуты
0 |
Dinoxromniy 1232 / 670 / 238 Регистрация: 22.12.2015 Сообщений: 2,089 |
||||
09.02.2020, 10:17 |
4 |
|||
mor_sergey, используйте что-то вроде
0 |
0 / 0 / 0 Регистрация: 10.05.2016 Сообщений: 9 |
|
13.12.2022, 09:11 |
5 |
Доброе утро! Добавлено через 38 минут Добавлено через 1 минуту
0 |
Jack Famous 531 / 164 / 27 Регистрация: 10.05.2021 Сообщений: 535 Записей в блоге: 7 |
||||
13.12.2022, 13:56 |
6 |
|||
Dinoxromniy, + Ещё варианты
0 |
Работа с умной таблицей из кода VBA Excel. Обращение к ячейкам, строкам и столбцам умной таблицы. Добавление и удаление строк и столбцов.
Обращение к умной таблице
Все примеры кода в этой статье привязаны к таблице с именем «Таблица1», расположенной на активном листе:
Обращение к умной таблице:
ActiveSheet.ListObjects(«Таблица1») |
Обращение к диапазону умной таблицы на рабочем листе:
ActiveSheet.ListObjects(«Таблица1»).Range |
Проверяем:
Debug.Print ActiveSheet.ListObjects(«Таблица1»).Range.Address ‘Результат: $B$3:$G$9 |
Далее все примеры кода VBA Excel, чтобы их не дублировать, будут представлены как аргументы метода Debug.Print.
Обращение к строкам
Работа с умной таблицей — обращение к строке заголовков:
Debug.Print ActiveSheet.ListObjects(«Таблица1»).Range.Rows(1).Address ‘Результат: $B$3:$G$3 |
Таким же образом можно обращаться и к остальным строкам таблицы (Строка1-Строка6), указывая индекс нужной строки от 2 до 7.
К записям таблицы (Строка1-Строка6) обращаются через коллекцию ListRows, указывая индекс записи от 1 до 6:
With ActiveSheet.ListObjects(«Таблица1») Debug.Print .ListRows.Count ‘Результат: 6 Debug.Print .ListRows(1).Range.Address ‘Результат: $B$4:$G$4 Debug.Print .ListRows(2).Range.Address ‘Результат: $B$5:$G$5 End With |
Обращение к столбцам
Обращение к третьему столбцу умной таблицы из кода VBA Excel:
With ActiveSheet.ListObjects(«Таблица1») ‘Обращение через диапазон умной таблицы Debug.Print .Range.Columns(3).Address ‘Результат: $D$3:$D$9 Debug.Print .Range.Columns.Count ‘Результат: 6 ‘Обращение через коллекцию ListColumns Debug.Print .ListColumns(3).Range.Address ‘Результат: $D$3:$D$9 Debug.Print .ListColumns.Count ‘Результат: 6 End With |
Обращение к ячейкам
Работа с умной таблицей — обращение к ячейке «E7» с отображением ее значения:
With ActiveSheet.ListObjects(«Таблица1») Debug.Print .Range.Cells(5, 4) ‘Результат: 91 Debug.Print .ListColumns(4).Range(5) ‘Результат: 91 Debug.Print .ListRows(4).Range(4) ‘Результат: 91 End With |
Вставка и удаление строк
Вставка новой строки в конец умной таблицы:
ActiveSheet.ListObjects(«Таблица1»).ListRows.Add |
Удаление последней строки:
With ActiveSheet.ListObjects(«Таблица1») .ListRows(.ListRows.Count).Delete End With |
Вставка новой строки на место пятой записи (Строка5 в таблице) со сдвигом пятой и нижерасположенных записей вниз:
ActiveSheet.ListObjects(«Таблица1»).ListRows.Add 5 |
Удаление пятой строки:
ActiveSheet.ListObjects(«Таблица1»).ListRows(5).Delete |
Вставка и удаление столбцов
Вставка нового столбца в конец умной таблицы из кода VBA Excel:
ActiveSheet.ListObjects(«Таблица1»).ListColumns.Add |
Удаление последнего столбца:
With ActiveSheet.ListObjects(«Таблица1») .ListColumns(.ListColumns.Count).Delete End With |
Вставка нового столбца на место четвертой графы таблицы со сдвигом четвертой и последующих граф вправо:
ActiveSheet.ListObjects(«Таблица1»).ListColumns.Add 4 |
Удаление четвертого столбца таблицы:
ActiveSheet.ListObjects(«Таблица1»).ListColumns(4).Delete |
Создание и удаление умной таблицы описано в статье VBA Excel. Создание таблицы (умной, обычной)
Запуск макроса при изменении кол-во строк умной таблицы |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Home / VBA / Count Rows using VBA in Excel
To count rows using VBA, you need to define the range from which you want to count the rows and then use the count and rows property to get the count of the row from that range. You can also use a loop to count rows where you have data only.
Use VBA to Count Rows
- First, you need to define the range for which you want to count the rows.
- After that, use a dot (.) to open the list of properties and methods.
- Next, type or select the “Rows” property.
- In the end, use the “Count” property.
Now when you run this code, it will return the count of the rows, and to get the count you can use a message box or directly enter that value into a cell as well.
Sub vba_count_rows()
Range("A1:A10").Rows.Count
End Sub
Count Rows for the Used Range
Sub vba_count_rows2()
MsgBox Worksheets("Sheet1").UsedRange.Rows.Count
End Sub
Count Rows with Data using VBA
You can also count rows where you have data by ignoring the blank rows.
The following code will take the used range as the range to loop up at and loop through each row one by one and check if there’s a non-empty cell there, and if it is there it will consider it as a row with data, and in the end, show a message box with the total count of rows.
Sub vba_count_rows_with_data()
Dim counter As Long
Dim iRange As Range
With ActiveSheet.UsedRange
'loop through each row from the used range
For Each iRange In .Rows
'check if the row contains a cell with a value
If Application.CountA(iRange) > 0 Then
'counts the number of rows non-empty Cells
counter = counter + 1
End If
Next
End With
MsgBox "Number of used rows is " & counter
End Sub
More Tutorials
- Excel VBA Font (Color, Size, Type, and Bold)
- Excel VBA Hide and Unhide a Column or a Row
- Excel VBA Range – Working with Range and Cells in VBA
- Apply Borders on a Cell using VBA in Excel
- Find Last Row, Column, and Cell using VBA in Excel
- Insert a Row using VBA in Excel
- Merge Cells in Excel using a VBA Code
- Select a Range/Cell using VBA in Excel
- SELECT ALL the Cells in a Worksheet using a VBA Code
- ActiveCell in VBA in Excel
- Special Cells Method in VBA in Excel
- UsedRange Property in VBA in Excel
- VBA AutoFit (Rows, Column, or the Entire Worksheet)
- VBA ClearContents (from a Cell, Range, or Entire Worksheet)
- VBA Copy Range to Another Sheet + Workbook
- VBA Enter Value in a Cell (Set, Get and Change)
- VBA Insert Column (Single and Multiple)
- VBA Named Range | (Static + from Selection + Dynamic)
- VBA Range Offset
- VBA Sort Range | (Descending, Multiple Columns, Sort Orientation
- VBA Wrap Text (Cell, Range, and Entire Worksheet)
- VBA Check IF a Cell is Empty + Multiple Cells
⇠ Back to What is VBA in Excel
Helpful Links – Developer Tab – Visual Basic Editor – Run a Macro – Personal Macro Workbook – Excel Macro Recorder – VBA Interview Questions – VBA Codes