tìm cột cuối cùng để điền dữ liệu

Liên hệ QC

miencaotaybac

Thành viên mới
Tham gia
19/8/21
Bài viết
10
Được thích
0
Anh chị em nào biết xin trợ giúp em với ạ, em muốn tìm dòng cuối như ví dụ trên thì viết code như thế nào với ạ?
 

File đính kèm

  • tìm cột cuối để điền dữ liệu.xlsx
    10 KB · Đọc: 17
Mã:
Function lastRowCol(ByVal rng As Range, ByVal FindRow As Boolean) As Long
'    Ham tra ve dong cuoi hoac cot cuoi trong vung rng
'     FindRow = TRUE -> tim dong cuoi, FindRow = FALSE -> tim cot cuoi
Dim cell_ As Range
    With rng
        If FindRow Then
            Set cell_ = .Find("*", .Cells(1), xlFormulas, xlPart, xlByRows, xlPrevious)
            If Not cell_ Is Nothing Then lastRowCol = cell_.Row
        Else
            Set cell_ = .Find("*", .Cells(1), xlFormulas, xlPart, xlByColumns, xlPrevious)
            If Not cell_ Is Nothing Then lastRowCol = cell_.Column
        End If
    End With
End Function

Vd. cách dùng
Mã:
Sub test()
Dim a As Long
    a = lastRowCol(Sheet1.Cells, False)    ' TÌM CỘT CUỐI trong Sheet1
    If a Then
        MsgBox "Cot cuoi tren sheet la " & a
    Else
        MsgBox "Khong co du lieu tren sheet"
    End If
'    -----------
    a = lastRowCol(Sheet1.Range("B2:I10"), False)    ' TÌM CỘT CUỐI trong vùng B2:I10 trong Sheet1
    If a Then
        MsgBox "Cot cuoi trong B2:I10 la " & a
    Else
        MsgBox "Khong co du lieu trong B2:I10"
    End If
End Sub
 
Upvote 0
Mã:
Function lastRowCol(ByVal rng As Range, ByVal FindRow As Boolean) As Long
'    Ham tra ve dong cuoi hoac cot cuoi trong vung rng
'     FindRow = TRUE -> tim dong cuoi, FindRow = FALSE -> tim cot cuoi
Dim cell_ As Range
    With rng
        If FindRow Then
            Set cell_ = .Find("*", .Cells(1), xlFormulas, xlPart, xlByRows, xlPrevious)
            If Not cell_ Is Nothing Then lastRowCol = cell_.Row
        Else
            Set cell_ = .Find("*", .Cells(1), xlFormulas, xlPart, xlByColumns, xlPrevious)
            If Not cell_ Is Nothing Then lastRowCol = cell_.Column
        End If
    End With
End Function

Vd. cách dùng
Mã:
Sub test()
Dim a As Long
    a = lastRowCol(Sheet1.Cells, False)    ' TÌM CỘT CUỐI trong Sheet1
    If a Then
        MsgBox "Cot cuoi tren sheet la " & a
    Else
        MsgBox "Khong co du lieu tren sheet"
    End If
'    -----------
    a = lastRowCol(Sheet1.Range("B2:I10"), False)    ' TÌM CỘT CUỐI trong vùng B2:I10 trong Sheet1
    If a Then
        MsgBox "Cot cuoi trong B2:I10 la " & a
    Else
        MsgBox "Khong co du lieu trong B2:I10"
    End If
End Sub
em vẫn chưa hiểu và chưa làm được Anh ơi, mong Anh giúp đỡ em với ạ
 
Upvote 0
em vẫn chưa hiểu và chưa làm được Anh ơi, mong Anh giúp đỡ em với ạ
Hiểu gì nữa bạn? Hoặc bạn làm được hoặc thuê người làm thôi.

Code có, ví dụ sử dụng cũng có - tìm cột cuối trong một vùng, trong một sheet.

Với dữ liệu trong bài #1 mà cần tìm cột / dòng cuối thì theo bạn kết quả phải là bao nhiêu?

Thao tác như sau: mở tập tin Excel - nhấn Alt + F11 để vào VBE -> menu Insert -> Module -> dán vào module code của Function lastRowCol.

Mỗi lần cần xác định dòng / cột cuối của vùng / sheet thì bắt chước code trong Sub test thôi.
 
Lần chỉnh sửa cuối:
Upvote 0
Hiểu gì nữa bạn? Hoặc bạn làm được hoặc thuê người làm thôi.

Code có, ví dụ sử dụng cũng có - tìm cột cuối trong một vùng, trong một sheet.

Với dữ liệu trong bài #1 mà cần tìm cột / dòng cuối thì theo bạn kết quả phải là bao nhiêu?

Thao tác như sau: mở tập tin Excel - nhấn Alt + F11 để vào VBE -> menu Insert -> Module -> dán vào module code của Function lastRowCol.

Mỗi lần cần xác định dòng / cột cuối của vùng / sheet thì bắt chước code trong Sub test thôi.
Dạ vâng ạ. Em cảm ơn Anh batman1 nhiều nhé
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom