Tìm dòng đầu tiên và cuối cùng bằng vba

Làm thế nào để tìm hàng cuối cùngcột cuối cùng hay ô cuối cùng của một bảng tính sử dung VBA.

Bài viết được biên soạn dưới đây sử hướng dẫn làm việc ấy một cách chi tiết và dễ hiểu nhất.

Sub Range_End_Method()

'Finds the last non-blank cell in a single row or column

Dim DongCuoi As Long
Dim CotCuoi As Long

'Find the last non-blank cell in column A(1)
DongCuoi = Cells(Rows.Count, 1).End(xlUp).Row

'Find the last non-blank cell in row 1
CotCuoi = Cells(1, Columns.Count).End(xlToLeft).Column

MsgBox "Last Row: " & lRow & vbNewLine & _
"Last Column: " & lCol

End Sub

VBA Last Row (Dòng cuối cùng)

Dòng cuối cùng trong một cột

Để tìm đường dòng chứa dữ liệu cuối cùng trong một cột chúng ta sử dụng thuộc tính End trong VBA Range.

Dim lastRow as Range

'Lấy dòng cuối cùng có chứa dữ liệu trong cột
Debug.Print Range("A1").End(xlDown).Row 'Result: 5
Set lastRow = Range("A1").End(xlDown).EntireRow

'Lấy ô cuối cùng có chứa dữ liệu trong cột
Dim lastRow as Range
Set lastRow = Range("A1").End(xlDown)

Dòng chứa dữ liệu cuối cùng trong worksheet

Để tìm dòng cuối cùng có chứa dữ liệu trong worksheet chúng ta cần sử dụng thuộc tính SpecialCells hoặc Find của Excel VBA Range.


Dim lastRow as Range, ws As Worksheet
Set ws = ActiveSheet

'Lấy dòng chứa dữ liệu cuối cùng trong worksheet sử dụng SpecialCells
Debug.Print ws.Cells.SpecialCells(xlCellTypeLastCell).Row
Set lastRow = ws.Cells.SpecialCells(xlCellTypeLastCell).EntireRow

'Lấy dòng chứa dữ liệu cuối cùng trong worksheet sử dụng Find
Debug.Print Debug.Print ws.Cells.Find(What:="*", _
After:=ws.Cells(1), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Row
Set lastRow = Debug.Print ws.Cells.Find(What:="*", _
After:=ws.Cells(1), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).EntireRow

Dòng cuối cùng trong worksheet UsedRange

Để tìm dòng cuối cùng trong worksheet UsedRange chúng ta cần sử dụng thuộc tính UsedRange của VBA worksheet


'Tìm dòng cuối cùng trong Worksheet UsedRange
Dim lastRow as Range, ws As Worksheet
Set ws = ActiveSheet
Debug.Print ws.UsedRange.Rows(ws.UsedRange.Rows.Count).Row
Set lastRow = ws.UsedRange.Rows(ws.UsedRange.Rows.Count).EntireRow

VBA Last Column (Cột cuối cùng)

Cột cuối cùng trong hàng có chứa dữ liệu

Để tìm được cột cuối cùng trong hàng có chứa dữ liệu chúng ta dùng thuộc tính End

Dim lastColumn as Range

'Tìm cột có dữ liệu cuối cùng trong hàng
Debug.Print Range("A1").End(xlRight).Row 'Result: 5
Set lastColumn = Range("A1").End(xlRight).EntireColumn

'Tìm ô cuối cùng có dữ liệu trong cột
Dim lastColumn as Range
Set lastColumn = Range("A1").End(xlRight)

Cột cuối cùng có chứa dữ liệu trong Worksheet.

Để tìm cột cuối cùng có chứa dữ liệu trong worksheet chúng ta cần sử dụng thuộc tính SpecialCells hoặc Find.


Dim lastColumn as Range, ws As Worksheet
Set ws = ActiveSheet

'Tìm cột cuối cùng có chứa dữ liệu trong Worksheet sử dụng SpecialCells
Debug.Print ws.Cells.SpecialCells(xlCellTypeLastCell).Column
Set lastColumn = ws.Cells.SpecialCells(xlCellTypeLastCell).EntireColumn

'Tìm cột cuối cùng có chứa dữ liệu trong Worksheet sử dụng Find
Debug.Print Debug.Print ws.Cells.Find(What:="*", _
After:=ws.Cells(1), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).Column
Set lastColumn = Debug.Print ws.Cells.Find(What:="*", _
After:=ws.Cells(1), _
Lookat:=xlPart, _
LookIn:=xlFormulas, _
SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, _
MatchCase:=False).EntireColumn

Cột cuối cùng trong Worksheet UsedRange

Để tìm cột cuối cùng trong Worksheet UsedRange chúng ta phải sử dụng thuộc tính UsedRange.


'Get Last Column in Worksheet UsedRange
Dim lastColumn as Range, ws As Worksheet
Set ws = ActiveSheet
Debug.Print ws.UsedRange.Columns(ws.UsedRange.Columns.Count).Column
Set lastColumn = ws.UsedRange.Columns(ws.UsedRange.Columns.Count).EntireColumn

VBA Last Cell (Ô cuối cùng)

Ô cuối cùng trong bảng dữ liệu

Để tìm ô cuối cùng trong một bảng dữ liệu (bảng không có ô trống) chúng ta sử dụng thuộc tính End.


Dim lastCell as Range

'Tìm ô cuối cùng trong bảng dữ liệu
SetlastCell = Range("A1").End(xlRight).End(xlDown)
Debug.Print "Row: " & lastCell.row & ", Column: " & lastCell.column

Ô cuối cùng có chứa dữ liệu trong Worksheet.

Để tìm ô có chứa dữ liệu nằm cuối cùng trong Worksheet ta cần sử dụng thuộc tính SpecialCells hoặc Find.


Dim lastCell as Range, ws As Worksheet
Set ws = ActiveSheet

'Tìm ô cuối cùng có chứa dữ liệu trong Worksheet sử dụng SpecialCells
Set lastCell = ws.Cells.SpecialCells(xlCellTypeLastCell)
Debug.Print "Row: " & lastCell.row & ", Column: " & lastCell.column

'Tìm ô cuối cùng có chứa dữ liệu trong Worksheet sử dụng Find
Set lastColumn = Debug.Print ws.Cells.Find(What:="*", _
        After:=ws.Cells(1), _
        Lookat:=xlPart, _
        LookIn:=xlFormulas, _
        SearchOrder:=xlByRows, _
        SearchDirection:=xlPrevious, _
        MatchCase:=False)
Debug.Print "Row: " & lastCell.row & ", Column: " & lastCell.column

Ô cuối cùng trong Worksheet UsedRange

Để tìm ô cuối cùng trong Worksheet UsedRange ta cần sử dụng thuộc tính UsedRange.


'Get Last Cell in Worksheet UsedRange
Dim lastCell as Range, ws As Worksheet
Set ws = ActiveSheet

Set lastCell = ws.UsedRange.Cells(ws.UsedRange.Rows.Count,ws.UsedRange.Columns.Count)
Debug.Print "Row: " & lastCell.row & ", Column: " & lastCell.column

VBA UserRange (Khu vực đã sử dụng)

UsedRange là khu vực được sử dụng và lưu trong Excel. Những khu vực mà đã có nhập liệu dù đã clear thì vẫn thuộc khu vực UsedRange.

Làm thế nào để kiểm tra UsedRange

Cách đơn giản nhất là chọn một ô A1 trong bảng tính Excel và bấm tổ hợp phím Ctrl + Shift + End. UsedRange sẽ được quét chọn.

Check UsedRange trong VBA

Sử dụng code dưới đây để kiểm tra UsedRange


Dim lastCell As Range, firstCell As Range, ws As Worksheet
Set ws = ActiveSheet
   
Set lastCell = ws.UsedRange.Cells(ws.UsedRange.Rows.Count, ws.UsedRange.Columns.Count)
Set firstCell = ws.UsedRange.Cells(1, 1)
Debug.Print "Ô đầu tiên trong UsedRange. Row: " & firstCell.Row & ", Column: " & firstCell.Column
Debug.Print "Ô cuối cùng trong UsedRange. Row: " & lastCell.Row & ", Column: " & lastCell.Column    

Kết quả sẽ cho ra Ô đầu tiền trong UsedRange; Row: 2, Column: 2 Ô cuối cùng trong UsedRange; Row: 5, Column: 6

Source: http://analystcave.com/excel-vba-last-row-last-column-last-cell/#VBA_UsedRange

Leave a Comment

sơn epoxy / sơn sàn epoxy / cửa lưới chống muỗi / vách ngăn lướii chống muỗi / cửa lùa chống muỗi / vệ sinh công nghiệp / đánh bóng sàn bê tông / vệ sinh nhà máy / dịch vụ giặt thảmm / vệ sinh nhà hàng / vệ sinh tòa nhà / dịch vụ vệ sinh kính / vệ sinh khách sạn / vệ sinh chung cư / dịch vụ cắt cỏ / đánh bóng kính / diệt côn trùng / diệt mối / diệt kiến / diệt muỗi / diệt ruồi / diệt gián / diệt chuột / dọn bể nước ngầm / phụ kiện mái che / cơ khí chế tạo / mái che di động / rèm nhựa / vách nhựa ngăn phòng lạnh / rèm nhựa phòng lạnh / dù che nắng / mái kéo di động / nhà bạt di động / mái xếp di động / mái hiên di động / thay bạt mái hiên di động / bạt che nắng / phụ kiện mái che di động / mái che sân thượng / mái che quán cafe / mái che di động miền bắc / mái che di động miền nam / bạt che di động hcm /