tìm cột cuối cùng để điền dữ liệu (1 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

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