Tìm đến dòng cuối cùng hiển thị dữ liệu trong bảng có công thức ở tất cả các dòng (1 người xem)

Liên hệ QC

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

Nguyễn Hồng Quang

Thành viên GPE Hà Nội
Tham gia
8/6/07
Bài viết
1,203
Được thích
877
Giới tính
Nam
Nghề nghiệp
Kế toán
Em có 1 bảng dữ liệu các ô đang để sẵn công thức lấy dữ liệu từ 1 sheet khác và có 1 số ô là Copy/Paste Value từ file khác
Em muốn tại bảng dữ liệu này tạo 1 Button để khi click vào Excel sẽ đưa dòng cuối cùng của cột D có hiển thị dữ liệu
Mọi chi tiết em đã trình bày trong file gửi kèm
Mong các anh chị giúp đỡ
Em xin cảm ơn
 

File đính kèm

Bạn dùng code này
Mã:
Sub Test()
Dim Cls As Range
For Each Cls In [D6:D500]
    If Cls.Value = 0 Then
        Cls.Select
        Exit For
    End If
Next
End Sub
 
Upvote 0
Có thể em ngu dốt nhưng em cũng đã thử dùng end và đi ngược từ dưới lên, thì excel nó chạy tuột đến ô D2 luôn
Vì em đặt công thức ở tất cả các ô nên nếu dùng end mà không có điều kiện thì excel nó không hiểu
Em chưa biết cách gài điều kiện gì trong tình huống này để phù hợp anh a
 
Upvote 0
Bạn dùng code này
Mã:
Sub Test()
Dim Cls As Range
For Each Cls In [D6:D500]
    If Cls.Value = 0 Then
        Cls.Select
        Exit For
    End If
Next
End Sub
Cách của anh rất hay
Nhưng nếu làm theo phương pháp này thì hơi khác với mong muốn của em chút xíu. Vì em muốn dừng ở ô D28
Có cách nào khác không anh
 
Upvote 0
Cách của anh rất hay
Nhưng nếu làm theo phương pháp này thì hơi khác với mong muốn của em chút xíu. Vì em muốn dừng ở ô D28
Có cách nào khác không anh
Vậy bạn Offset lên 1 dòng là được. Offset VBA giống như công thức Offset vậy
Mã:
Sub Test()
Dim Cls As Range
For Each Cls In [D6:D500]
    If Cls.Value = 0 Then
        Cls.Offset(-1, 0).Select
        Exit For
    End If
Next
End Sub
 
Upvote 0
Có thể em ngu dốt nhưng em cũng đã thử dùng end và đi ngược từ dưới lên, thì excel nó chạy tuột đến ô D2 luôn
Vì em đặt công thức ở tất cả các ô nên nếu dùng end mà không có điều kiện thì excel nó không hiểu
Em chưa biết cách gài điều kiện gì trong tình huống này để phù hợp anh a
thử code
Mã:
lr = Range("D7:D1000").Find(0, LookIn:=xlValues, LookAt:=xlWhole).Row
Range("D" & lr - 1).Select
 
Upvote 0
cách ban đầu của em là thêm cột I phụ đặt công thức =Istext(...) Rồi dùng VBA tìm đến dòng nào = TRUE, rồi đưa sang ô tương ứng ở cột D
Em tự thấy cách này rườm rà; chưa hay nên quyết chí phải hỏi thêm các anh chị trên GPE
và e đã nhận được các câu trả lời rất ưng ý
Thêm lần nữa! Em xin cảm ơn anh befain; anh dhn24
và anh HieuCD đã giúp đỡ
 

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom