I am developing a dashboard in excel. And I am looking for calculating row count. (How many records are present) ..
Since there are some blank cells I thought to go from bottom to up. I use the following
Range("A1048576").Select
Selection.End(xlUp).Select
After this execution the active cell is at A113 which means the row count is 113.
My question is how to get this number 113 from the active cell?
asked Feb 4, 2014 at 13:37
You can use this:
Dim lastrow as Long
lastrow = Cells(Rows.Count,"A").End(xlUp).Row
lastrow
will contain number of last empty row in column A
, in your case 113
answered Feb 4, 2014 at 13:38
Dmitry PavlivDmitry Pavliv
35.2k13 gold badges79 silver badges80 bronze badges
1
Here is what I usually use for that:
lastrow = WorksheetFunction.CountA(Columns("A:A"))
This will return the number of non-empty cells in Column «A» which is what I think you’re after. Hope this helps.
answered Feb 4, 2014 at 13:49
Jim SimsonJim Simson
2,7663 gold badges21 silver badges30 bronze badges
2
The best way to get the count of rows/records (in most cases) is to use .UsedRange.Rows.Count
. You can assign the return value to a variable like this:
lastRow = Sheets(1).UsedRange.Rows.Count
If you use a function that includes a column (such as column A) as shown in other examples, that will only get you the count of rows in that column, which may or may not be what you’re going for. One caveat: if you have formatted rows below your last row with a value then it will return that row number.
answered Mar 3, 2021 at 0:28
If there is a slight chance that the last row of the worksheet is not empty, you should add an IsEmpty()
check to @simoco ‘s solution. Therefore; following is a function that returns the last used row and check if the last row of the worksheet is empty:
Function lastRow(WS As Worksheet, iColumn As String) As Long
If Not IsEmpty(WS.Range(iColumn & WS.Rows.Count)) Then
lastRow = WS.Rows.Count
Else
lastRow = WS.Range(iColumn & WS.Rows.Count).End(xlUp).Row
End If
End Function
answered Feb 4, 2014 at 14:22
simpLE MAnsimpLE MAn
1,56213 silver badges22 bronze badges
asesja Пользователь Сообщений: 320 |
Здравствуйте. Изменено: asesja — 21.10.2022 23:19:17 |
Пытливый Пользователь Сообщений: 4587 |
#2 21.10.2022 22:43:41 Здравствуйте.
Кому решение нужно — тот пример и рисует. |
||
Ігор Гончаренко Пользователь Сообщений: 13746 |
#3 21.10.2022 22:59:39
никак Программисты — это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете! |
||
asesja Пользователь Сообщений: 320 |
#4 21.10.2022 23:10:31
Поправил пример. Имеются пустые строки с переносами. |
||
БМВ Модератор Сообщений: 21384 Excel 2013, 2016 |
#5 21.10.2022 23:54:47 вставляем текст бокс, выбираем ширину нужную и авто размер, шрифт. вставляем текст.
естественно пустые переводы тоже считаются как строки. Прикрепленные файлы
Изменено: БМВ — 21.10.2022 23:57:28 По вопросам из тем форума, личку не читаю. |
||
asesja Пользователь Сообщений: 320 |
БМВ, спасибо. Завтра обязательно попробую. Должно получиться. Ключик уже где-то рядом)) |
asesja Пользователь Сообщений: 320 |
#7 22.10.2022 21:47:31 БМВ, проверил. Всё получилось как вы написали. Буду использовать код в своей программе для расчета высоты строчек объединенных ячеек с текстовыми данными. |
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
-
How to count rows using VBA?
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. First, you need to define the range for which you want to count the rows.
-
How to count rows with criteria in Excel?
⧪ Then press ALT+F8, select Count_Selected_Rows, and click on Run. You will get a message box showing you the total number of rows in your selected range ( 10 in this case.) 3. Insert VBA Code to Count Rows with Criteria in Excel We can also use a VBA code to count the total number of rows that maintain a specific criterion.
-
How do I get the number of rows in Excel?
Another useful way to get the number of rows is cnt = Worksheets («Sheet2»).Range («A1»).CurrentRegion.Rows.Count. This will get the used range up to the first blank row. I have just provided an example, please don’t stick with the values. you can use any excel range and get the row count. Sheet2 is a sheet, not a range.
-
How to count rows of a range in JavaScript?
We are counting several rows in the RANGE object’s ROWS property, so choose the “COUNT” property now. Now in the message box, show the value of the variable. Now, run the code and see the count of rows of the supplied range of cells. There are 8 rows supplied for the range, so the row count is 8 in the message box.
Grilled Giardiniera-Stuffed Steak Sandwich
This rolled flank steak is inspired by the Italian beef sandwich, a Chicago delicacy typically consisting of chopped thin slices of roast beef stuffed…
Provided by Food Network Kitchen
Mapo Potato
Let’s be clear: Nothing surpasses the hearty deliciousness of a traditional mapo tofu. But for those days when you find yourself without soft tofu in the…
Provided by Hetty McKinnon
Chili
This is a spicy, smoky and hearty pot of chili. It’s the kind of chili you need after a long day skiing — or hibernating. To create a rich and thick sauce,…
Provided by Ali Slagle
Banket
This recipe is from my mother. It is the one she taught me with a slight tweak. In my home on the holidays one way to show someone or a family they were…
Provided by Jena Lewis
Moroccan Nachos
This Moroccan twist on the much-loved appetizer features kefta, a ground beef (or lamb) mixture seasoned with parsley, cilantro, mint, paprika and cumin,…
Provided by Nargisse Benkabbou
Peanut Butter Brownie Cups
I’m not a chocolate fan (atleast not the kind made in the U.S.), but I LOVE peanut butter and chocolate and this hit the spot. I found the recipe in 2007…
Provided by AmyZoe
Banana Cream Pudding
This fabulous version of the favorite Southern dessert boosts the banana flavor by infusing it into the homemade vanilla pudding, in addition to the traditional…
Provided by Martha Stewart
Lemon Russian Tea Cakes
I love lemon desserts,these are a simple cookie I can make quickly. The recipe is based on the pecan Russian tea cakes.I don’t like lemon extract,instead…
Provided by Stephanie L. @nurseladycooks
Easy Churros with Mexican Chocolate Sauce
Forgo the traditional frying — and mixing up the batter! — for this Latin American treat. Instead, bake store-bought puff pastry for churros that are…
Provided by Martha Stewart
Easy Lasagna
Everyone loves lasagna. It’s perfect for feeding a big crowd and a hit at potlucks. But most people reserve it for a weekend cooking project since it can…
Provided by Food Network Kitchen
Grilled Vegetables Korean-Style
Who doesn’t love grilled vegetables — the sauce just takes them over the top.
Provided by Daily Inspiration S @DailyInspiration
Outrageous Chocolate Cookies
From Martha Stewart. I’m putting this here for safe keeping. This is a chocolate cookie with chocolate chunks. Yum! Do not over cook this cookie since…
Provided by C. Taylor
CERTO® Citrus Jelly
A blend of freshly squeezed orange and lemon juices puts the citrusy deliciousness in this CERTO Citrus Jelly.
Provided by My Food and Family
Previous
Next
COUNT ROWS USING VBA IN EXCEL — EXCEL CHAMPS
WebTo 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 …
From excelchamps.com
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 …»>
See details
EXCEL — VBA — RANGE.ROW.COUNT — STACK OVERFLOW
WebSub test () Dim sh As Worksheet Set sh = ThisWorkbook.Sheets («Sheet1») Dim k As Long k = sh.Range («A1», sh.Range («A1»).End (xlDown)).Rows.Count End Sub What happens is this: We count the …
From stackoverflow.com
Sub test () Dim sh As Worksheet Set sh = ThisWorkbook.Sheets («Sheet1») Dim k As Long k = sh.Range («A1», sh.Range («A1»).End (xlDown)).Rows.Count End Sub What happens is this: We count the …»>
See details
VBA ROW COUNT — HOW TO COUNT NUMBER OF USED ROWS IN VBA?
2023-03-20
From wallstreetmojo.com
Estimated Reading Time 4 mins
HOW TO COUNT UNIQUE VALUES IN RANGE USING VBA — STATOLOGY
WebMar 14, 2023 You can use the following basic syntax to count the number of unique values in a range using VBA: Sub CountUnique () Dim Rng As Range, List As Object, …
From statology.org
Mar 14, 2023 You can use the following basic syntax to count the number of unique values in a range using VBA: Sub CountUnique () Dim Rng As Range, List As Object, …»>
See details
在 VBA 中查找最后一行和最后一列_迹忆客
WebMar 19, 2023 在 VBA 中查找最后一行和最后一列. 在处理电子表格中的数据时,我们需要知道数据的最后一行和最后一列。. 设置光标可以迭代的限制很有用。. VBA 没有内置函数 …
From jiyik.com
Mar 19, 2023 在 VBA 中查找最后一行和最后一列. 在处理电子表格中的数据时,我们需要知道数据的最后一行和最后一列。. 设置光标可以迭代的限制很有用。. VBA 没有内置函数 …»>
See details
VBA : HOW TO COUNT NUMBER OF ROWS IN FILTERED COLUMN?
WebAug 19, 2015 Here is the code used to apply auto filter: Sub filtered_row_count () Sheets («Sheet1»).Select row_count = Application.CountA (Range («B:B»)) — 1 ‘Subtract the …
From stackoverflow.com
Aug 19, 2015 Here is the code used to apply auto filter: Sub filtered_row_count () Sheets («Sheet1»).Select row_count = Application.CountA (Range («B:B»)) — 1 ‘Subtract the …»>
See details
HOW TO COUNT ROWS WITH DATA IN COLUMN USING VBA IN EXCEL (9 …
WebFeb 16, 2023 Method-1: Using VBA Rows.Count Property to Count Rows with Data in Column in Excel Here, we will be counting the rows of the Sales column with sales …
From exceldemy.com
Feb 16, 2023 Method-1: Using VBA Rows.Count Property to Count Rows with Data in Column in Excel Here, we will be counting the rows of the Sales column with sales …»>
See details
EXCEL FILE TO COUNT TOTAL ROWS IN VBA — STACK OVERFLOW
WebMay 9, 2012 Try the followings: To get the count of used rows: cnt = Worksheets («Sheet2»).Cells.SpecialCells (xlCellTypeLastCell).Row To get the count of all rows of …
From stackoverflow.com
May 9, 2012 Try the followings: To get the count of used rows: cnt = Worksheets («Sheet2»).Cells.SpecialCells (xlCellTypeLastCell).Row To get the count of all rows of …»>
See details
COUNT THE NUMBER OF ROWS OR COLUMNS IN EXCEL — MICROSOFT SUPPORT
WebIf you need a quick way to count rows that contain data, select all the cells in the first column of that data (it may not be column A). Just click the column header. The status …
From support.microsoft.com
If you need a quick way to count rows that contain data, select all the cells in the first column of that data (it may not be column A). Just click the column header. The status …»>
See details
VBA COUNT — AUTOMATE EXCEL
WebUsing COUNTA. The count will only count the VALUES in cells, it will not count the cell if the cell has text in it. To count the cells which are populated with any sort of data, we …
From automateexcel.com
Using COUNTA. The count will only count the VALUES in cells, it will not count the cell if the cell has text in it. To count the cells which are populated with any sort of data, we …»>
See details
RANGE.ROWS PROPERTY (EXCEL) | MICROSOFT LEARN
WebMar 29, 2022 For example, both Selection.Rows(1) and Selection.Rows.Item(1) return the first row of the selection. When applied to a Range object that is a multiple selection, this …
From learn.microsoft.com
Mar 29, 2022 For example, both Selection.Rows(1) and Selection.Rows.Item(1) return the first row of the selection. When applied to a Range object that is a multiple selection, this …»>
See details
VBA: HOW TO COUNT NUMBER OF ROWS IN RANGE — STATOLOGY
WebMar 9, 2023 VBA: How to Count Number of Rows in Range You can use the following basic syntax to count the number of rows in a range in Excel using VBA: Sub …
From statology.org
Mar 9, 2023 VBA: How to Count Number of Rows in Range You can use the following basic syntax to count the number of rows in a range in Excel using VBA: Sub …»>
See details
COUNT THE ROWS IN A SELECTION — VBA CODE EXAMPLES — AUTOMATE …
WebIn this ArticleCount Rows in a SelectionCount Columns in a SelectionVBA Coding Made Easy If you ever need to count the number of rows that were selected, use …
From automateexcel.com
In this ArticleCount Rows in a SelectionCount Columns in a SelectionVBA Coding Made Easy If you ever need to count the number of rows that were selected, use …»>
See details
[EXCEL VBA] COUNT COLUMNS & ROWS HAVING DATA (10 EDITABLE CODES)
WebMay 18, 2022 This code will count all the columns in a given range mentioned in the code. This code counts all the blank as well as non-blank columns within the specified range. …
From excelgraduate.com
May 18, 2022 This code will count all the columns in a given range mentioned in the code. This code counts all the blank as well as non-blank columns within the specified range. …»>
See details
HOW TO GET THE ROW COUNT IN EXCEL VBA — STACK OVERFLOW
WebJul 9, 2018 You can assign the return value to a variable like this: lastRow = Sheets (1).UsedRange.Rows.Count If you use a function that includes a column (such as column A) as shown in other examples, that will only get you the count of rows in that column, …
From stackoverflow.com
Jul 9, 2018 You can assign the return value to a variable like this: lastRow = Sheets (1).UsedRange.Rows.Count If you use a function that includes a column (such as column A) as shown in other examples, that will only get you the count of rows in that column, …»>
See details
HOW TO PROPERLY COUNT VISIBLE ROWS IN VBA EXCEL?
WebJan 25, 2021 Option Explicit Dim ws As Worksheet Dim rCount As Long, x As Long Dim rng As Range Sub printTest () Dim content As String Set ws = …
From stackoverflow.com
Jan 25, 2021 Option Explicit Dim ws As Worksheet Dim rCount As Long, x As Long Dim rng As Range Sub printTest () Dim content As String Set ws = …»>
See details
HOW TO COUNT ROWS WITH VBA IN EXCEL (5 APPROACHES)
WebFeb 16, 2023 Use VBA Code to Count Rows of a Specific Range ⧪ Step 1: Press ALT+F11 on your keyboard. The VBA window will open. ⧪ Step 2: Go to the Insert tab in …
From exceldemy.com
Feb 16, 2023 Use VBA Code to Count Rows of a Specific Range ⧪ Step 1: Press ALT+F11 on your keyboard. The VBA window will open. ⧪ Step 2: Go to the Insert tab in …»>
See details
EXCEL VBA TO COUNT ROWS WITH DATA (4 EXAMPLES)
WebFeb 19, 2023 After the VBA window appears, write the following codes in it- Sub CountUsedRows () Dim x As Long x = Selection.Rows.Count MsgBox x & » rows with …
From exceldemy.com
Feb 19, 2023 After the VBA window appears, write the following codes in it- Sub CountUsedRows () Dim x As Long x = Selection.Rows.Count MsgBox x & » rows with …»>
See details
VBA USED RANGE – COUNT NUMBER OF USED ROWS OR COLUMNS
WebThere is no need to loop to find this, the following code does it for you. In this example the code will write “FirstEmpty” in the first empty cell in column “d”. Public Sub AfterLast () …
From automateexcel.com
There is no need to loop to find this, the following code does it for you. In this example the code will write “FirstEmpty” in the first empty cell in column “d”. Public Sub AfterLast () …»>
See details
HOW TO COUNT FILTERED ROWS IN EXCEL WITH VBA (STEP-BY-STEP
WebFeb 13, 2023 Steps to Count Filtered Rows in Excel with VBA STEP 1: Apply Filter in the Dataset STEP 2: Launch the VBA Window to Count Filtered Rows in Excel STEP 3: …
From exceldemy.com
Feb 13, 2023 Steps to Count Filtered Rows in Excel with VBA STEP 1: Apply Filter in the Dataset STEP 2: Launch the VBA Window to Count Filtered Rows in Excel STEP 3: …»>
See details
подскажите, пожалуйста, как в документе (см. приложение) похожей структуры (имею в виду наличие пустых ячеек, строк, столбцов) в макросе узнать кол-во строк и столбцов значимой области. под значимой областью имею в виду прямоугольную область, покрывающую все непустые ячейки, в данном случае это область С2:N28, т.е. 27 строк, 12 столбцов
Имеется ли какой-то объект или свойство, которое отвечает за эту информацию?
команды ActiveSheet.Cells.Columns.Count и ActiveSheet.Cells.Rows.Count, показывают кол-во столбцов и строк всего листа, т.е. не подходят. Сейчас я просто пробегаю все ячейки и, если встречается подряд пять пустых строк (обычно больше не бывает) делаю останов.
есть вариант перед запуском макроса, нужную область выделить вручную, но это тоже не всегда удобно
я новичок в VBA поэтому врядли подскажу…
а вот спросить бы очень хотелось:
что значит «пробегаю пять пустых ячеек? «
-можете с макросом выложить пример?
Цитата: polioli от 09.11.2009, 23:56
подскажите, пожалуйста, как в документе (см. приложение) похожей структуры (имею в виду наличие пустых ячеек, строк, столбцов) в макросе узнать кол-во строк и столбцов значимой области.
я знаю как не в макросе узнать — функцией по английски называющейся counta (она из диапазона как раз выдает колличество значимых ячеек)
возможно при помощи макрорекордера можно вытянуть как ее использовать в макросе.
p.s если выложите пример макроса перебирающего ячейки, буду очень благодарен.
Если не учитывать первые пустые строки и столбцы, то можно так:
Sub rrrr()
r1_ = Range(«A1»).SpecialCells(xlLastCell).Row
c1_ = Range(«A1»).SpecialCells(xlLastCell).Column
End Sub
если учитывать:
Sub ttt()
r1_ = Range(«A1»).SpecialCells(xlLastCell).Row
r2_ = Range(«A1»).SpecialCells(xlConstants).Row
r_ = r1_ — r2_
c1_ = Range(«A1»).SpecialCells(xlLastCell).Column
c2_ = Range(«A1»).SpecialCells(xlConstants).Column
c_ = c1_ — c2_
End Sub
Скажи мне, кудесник, любимец ба’гов…
Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995
_Boroda_, большое спасибо, то, что надо
но в одном случае этого не достаточно.
если в документе строки удаляли с помощью Del, т.е удаление информации, но не самой строки, то после последней «значимой» строки может идти ряд пустых строк.
можно ли как-то вычислить их кол-во (не перебирая ячейки по одной), т.е. посчитать размер диапазона не учитывая последние пустые строки?
еще раз, спасибо!
Нelg, «пробегаю пять пустых ячеек? » имелось в виду в цикле методом перебора проверяю каждую ячейку, и если, к примеру, встречается пять пустых ячеек подряд, то считать, что информации в файле дальше нет.
выглядит это примерно так
ii = 1
Do
If Len(.Cells(vRow, 1)) = 0 Then
ii = ii + 1
End If
…
vRow = vRow + 1
Loop Until ii > 5
Не красиво, не удобно, но работало.
Теперь буду использовать способ, предложенный Бородой
Тогда так:
Sub yyyyy()
ActiveWorkbook.Save
r1_ = Cells.SpecialCells(xlLastCell).Row
c1_ = Cells.SpecialCells(xlLastCell).Column
End Sub
Скажи мне, кудесник, любимец ба’гов…
Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995
Цитата: Нelg от 10.11.2009, 00:15
… пример макроса перебирающего ячейки … [/u]
‘Варианта два:
‘1-й: Количество строк, столбцов заранее известно;
‘2-й: Количество строк, столбцов заранее не известно;
‘Ответ:
‘1-й: (нужно «перебрать ячейки в блоке «b2:f7″, двигаясь по ячейкам строки, а затем на строку ниже»)
Sub pereborIzwestnogoBloka()
Dim i As Long
Dim j As Integer
‘перебрать ячейки в блоке «b2:f7», двигаясь по ячейкам строки, а затем на строку ниже
i = 0
For i = 2 To 7 ‘по строкам
j = 0
For j = 2 To 6 ‘по ячейкам строки
‘в ячейке с координатами очередного шага перебора, выполняем действия = Start
Cells(i, j) = i + j ‘ — пишем в нее сумму координат
Cells(i, j).Select ‘ — делаем ее активной
‘в ячейке с координатами очередного шага перебора, выполняем действия = Stop
Next j
Next i
End Sub
‘2-й: (число строк, столбцов, заранее неизвестно. Но, известно: ячейка старта и _
условие при котором нужно ‘прекратить перебор. Скажем: при обнаружении _
ячейки со словом «Всего:» — по строке в первой колонке перебираемого блока, и _
пустой ячейки по колонке в первой строке перебираемого блока)
‘ Например стартовая ячейка b3
Sub pereborNeizwestnogoBloka()
Dim nR As Long
Dim nC As Integer
nR = 3
nC = 2
Do
Do
‘в ячейке с координатами очередного шага перебора, выполняем действия = Start
Cells(nR, nC) = nR + nC ‘ — пишем в нее сумму координат
Cells(nR, nC).Select ‘ — делаем ее активной
‘в ячейке с координатами очередного шага перебора, выполняем действия = Stop
nC = nC + 1
Loop While Cells(3, nC) <> Empty
nR = nR + 1
Loop While Cells(nR, 2).Text <> «Всего»
End Sub
Путей к вершине — множество. Этот один из многих!
_Boroda_ , спасибо!
теперь, что называется «дошло».
при сохранении программа видимо обновляет информацию о последней ячейке (Ctrl+End).
в моем случае еще важно было обратить внимание на отсутствие форматирования в пустых ячейках в конце документа,
так как они тоже влияют на значение послед. ячейки.
еще раз спасибо, что помогли решить задачу и разобраться.
Формулировка задачи:
Тут вот несколькими постами ниже рассматривался вопрос про размер ячейки — у меня трабл немного похожий, но очевидного решения не нашел.
В ячейку может быть записано предложение из разного количества слов разной длины. Ширина ячейки пусть будет фиксированная. Работает перенос текста по словам. Нужно посчитать количество «строчек в ячейке», которое по факту занимает предложение. Вариант с анализом состава предложения, поиска пробелов и моделирования логики переноса строк мне кажется слишком навороченным. Можно ли допросить Excel на предмет того сколько «строчек в ячейке» он выделил под текст? Ведь он довольно быстро делает автоматическую высоту ячеек…Или спасение только в анализе текста
Буду благодарен за советы, поиском порылся — ничего не нашел:(
Код к задаче: «Количество «строк» текста в одной ячейке»
textual
Private Sub Worksheet_Change(ByVal Target <font color="blue">As</font> Range) <br><font color="blue">With</font> Target <br> <font color="blue">If</font> .Address = <b><font color="green">"$A$<b><font color="darkblue">1</font></b>"</font></b> Then .Offset(<b><font color="darkblue">0</font></b>, <b><font color="darkblue">1</font></b>) = .EntireRow.Height / .Worksheet.StandardHeight <br><font color="blue">End</font> <font color="blue">With</font> <br><font color="blue">End</font> Sub
Полезно ли:
8 голосов , оценка 4.000 из 5
Вопрос:
Я разрабатываю приборную панель в excel. И я ищу вычисление количества строк. (Сколько записей присутствует)..
Поскольку есть несколько пустых ячеек, я думал, что они идут снизу вверх. Я использую следующие
Range("A1048576").Select
Selection.End(xlUp).Select
После этого выполнения активная ячейка находится на A113, что означает, что количество строк равно 113.
Мой вопрос: как получить этот номер 113 из активной ячейки?
Лучший ответ:
Вы можете использовать это:
Dim lastrow as Long
lastrow = Cells(Rows.Count,"A").End(xlUp).Row
lastrow
будет содержать номер последней пустой строки в столбце A
, в вашем случае 113
Ответ №1
Вот что я обычно использую для этого:
lastrow = WorksheetFunction.CountA(Columns("A:A"))
Это вернет число непустых ячеек в столбце “А”, что, как я думаю, вам нужно. Надеюсь это поможет.
Ответ №2
Если есть небольшая вероятность того, что последняя строка рабочего листа не пуста, вы должны добавить проверку IsEmpty()
в решение @simoco. Следовательно; следующая – это функция, которая возвращает последнюю использованную строку и проверяет, является ли последняя строка листа пустой:
Function lastRow(WS As Worksheet, iColumn As String) As Long
If Not IsEmpty(WS.Range(iColumn & WS.Rows.Count)) Then
lastRow = WS.Rows.Count
Else
lastRow = WS.Range(iColumn & WS.Rows.Count).End(xlUp).Row
End If
End Function