How to find the last row or column with data in Excel?
In a large worksheet, if you want to determine the last row or column which contains values quickly and easily, you just can drag the scrollbar to find it. But it will be painful if there are thousands of data rows in your worksheet. In this article, I will talk about some useful VBA code for you to solve this task.
- Reuse Anything: Add the most used or complex formulas, charts and anything else to your favorites, and quickly reuse them in the future.
- More than 20 text features: Extract Number from Text String; Extract or Remove Part of Texts; Convert Numbers and Currencies to English Words.
- Merge Tools: Multiple Workbooks and Sheets into One; Merge Multiple Cells/Rows/Columns Without Losing Data; Merge Duplicate Rows and Sum.
- Split Tools: Split Data into Multiple Sheets Based on Value; One Workbook to Multiple Excel, PDF or CSV Files; One Column to Multiple Columns.
- Paste Skipping Hidden/Filtered Rows; Count And Sum by Background Color; Send Personalized Emails to Multiple Recipients in Bulk.
- Super Filter: Create advanced filter schemes and apply to any sheets; Sort by week, day, frequency and more; Filter by bold, formulas, comment...
- More than 300 powerful features; Works with Office 2007-2019 and 365; Supports all languages; Easy deploying in your enterprise or organization.
Most of us may be consider of locating the last cell by pressing Ctrl +End keys to find the last row and column, but the shortcut key will not locate the accurate value cell if there are some cells that have formatting below the data range. So here, please use the following VBA code:
1. Activate your worksheet which you want to determine the last row or column with data.
2. Hold down the ALT + F11 keys to open the Microsoft Visual Basic for Applications window.
3. Then click Insert > Module, and paste the following code in the Module Window.
VBA code: Find last row with data
Sub sblastRowOfASheet() 'Update 20140603 Dim xLastRow As Long xLastRow = Application.ActiveSheet.Cells.SpecialCells(xlLastCell).Row MsgBox "Last Used Row: " & xLastRow Do While Application.CountA(ActiveSheet.Rows(xLastRow)) = 0 And xLastRow <> 1 xLastRow = xLastRow - 1 Loop MsgBox "Last Row with Data: " & xLastRow End Sub
4. And then press F5 key to run this code, and prompt box will pop out to tell you the row number of the used range. See screenshot:
5. Go on clicking OK button, this time the last row number with values has been displayed as following screenshot shown:
Note: To find the last column with data, please apply this code:
VBA code: Find last column with data
Sub sblastcolumnOfASheet() 'Update 20140603 Dim xLastcolumn As Long xLastcolumn = Application.ActiveSheet.Cells.SpecialCells(xlLastCell).Column MsgBox "Last Used column: " & xLastcolumn Do While Application.CountA(ActiveSheet.Columns(xLastcolumn)) = 0 And xLastcolumn <> 1 xLastcolumn = xLastcolumn - 1 Loop MsgBox "Last column with Data: " & xLastcolumn End Sub
If you want to directly find and select the last row or column with data in Excel, the Select Last Row and the Select Last Column utilities of Kutools of Excel can help you. Please do as follows.
1. After installing Kutools for Excel, if you want to find and select last row with data, please click Kutools > Select > Select Last Cell > Last Row. See screenshot:
Note: For finding and selecting the last column with data, please click Kutools > Select > Select Last Cell > Last Column. See screenshot:
Then the last row or column with data in current worksheet is found and selected immediately.
Kutools for Excel includes more than 300 handy Excel tools. Free to try with no limitation in 60 days. Download the free trial now!