Tự động rút dòng khi không có dữ liệu

Liên hệ QC

phankhang

Thành viên mới
Tham gia
31/7/07
Bài viết
18
Được thích
1
Mình có một câu hỏi nhỏ , mong các bạn giúp đỡ

Giả sử mình có một bảng dữ liệu , dòng cuối cùng là dòng sử dụng công thức sum hoặc count . Tuy nhiên do dữ liệu trong bảng này có thể lấy từ sheet khác nên có đôi lúc thì có số dòng ít và có lúc thì số dòng nhiều nhiều . Do đó dòng cuối cùng phải để rất xa để phòng khi dữ liệu có nhiều dòng thì vẫn sử dụng được . Nhược điểm là khi có số dòng ít thì nhìn bảng tính rất xấu ( có thể dùng hide rows để che dòng đi nhưng cũng có nhược điểm là khi có phát sinh nhiều dòng thì lại phải unhide mới thấy )

Mình có đọc ở đâu đó trên diễn đàn này có cách tự rút dòng khi không có dữ liệu nhưng bây giờ tìm lại không thấy . Nhờ các bạn giúp dùm . Xin cám ơn
 

File đính kèm

  • cong_don_row.zip
    6 KB · Đọc: 137
Cám ơn bạn anhtuan , đề tài của bạn kingcom rất hay và rất đáng giá ,mình còn 1 điểm nhỏ nữa bị vướng . Theo cách này thì địa chỉ dòng cuối sẽ bị thay đổi như vậy sẽ khó trong trường hợp cần tham chiếu công thức tuyệt đối của các ô , hơn nữa không dùng được công thức counta hoặc công thức khác ( mình dùng Excel 2003). Mình thấy giống như các bạn làm ở đâu đó chủ yếu là tự động nếu dòng nào không có dữ liệu thì tự động hide rows . Còn nếu có dữ liệu bất kỳ thì tự động unhide .

Cám ơn các bạn
 
Tôi đề nghị thế này... cell nào bạn cần tham chiếu tuyệt đối thì hãy đặt name cho nó.. Khi bạn thêm dòng vào thì vùng name này sẽ tự động dịch đi tương ứng... nên công thức cũa bạn vẫn cho kết quã đúng như thường
-----------------------
Ah... tôi vừa kiễm tra xong, ko cần đặt name luôn... Nhưng công thức tham chiếu vào các cell dưới danh sách ấy luôn dc cập nhật chính xác
ANH TUẤN
 
Lần chỉnh sửa cuối:
anhtuan1066 đã viết:
Tôi đề nghị thế này... cell nào bạn cần tham chiếu tuyệt đối thì hãy đặt name cho nó.. Khi bạn thêm dòng vào thì vùng name này sẽ tự động dịch đi tương ứng... nên công thức cũa bạn vẫn cho kết quã đúng như thường
-----------------------
Ah... tôi vừa kiễm tra xong, ko cần đặt name luôn... Nhưng công thức tham chiếu vào các cell dưới danh sách ấy luôn dc cập nhật chính xác
ANH TUẤN

Vấn đề là mình dùng ô trong list tham chiếu địa chỉ tuyệt đối ở phía dưới của list , thì sẽ bị sai đi cho dù đặt name động đia nữa cũng vậy
-----------------------------

Ôi trời ơi , thì ra đặt name động mới bị sai , còn dùng công thức thường thì không sai . Sao kỳ vậy ta?? . Vấn đề là đặt name động sẽ giảm rất nhiều dung lượng do công thức quá dài , không sử dụng được thì quá uổng ???
 
Lần chỉnh sửa cuối:
To phankhang: Xin chia xẻ với bạn cách giải quyết của mình.
Mình tạo 1 cột phụ nhằm kiểm tra điều kiện xem dòng có trống ko, trả về 0 hoặc 1 chẳng hạn.
Bôi AutoFilter cho cả vùng dữ liệu (cả cột phụ trên)
Tạo 1 cái macro tự động chạy autofilter với điều kiện của cột phụ là 1 (với 1 là đk trả về của các dòng có dữ liệu).
Cuối cùng thì chỉ còn việc gán macro kia cho một event nào đó có thể là Change của sheet hoặc là một nút view do mình tạo để tự bấm.
Nếu bạn tìm được cách hay hơn thì trao đổi lại nhé. Chào thân ái
 
Xài thử macro ẩn các dòng không dữ liệu & cho í kiến nha!

PHP:
Option Explicit

Sub HideRows()
 On Error Resume Next
Dim lRow As Long, jZ As Long:           Dim Rng As Range
 Sheet1.Select
 Cells.Select:                          Selection.EntireRow.Hidden = False
 lRow = Range("B65432").End(xlUp).Row
 For jZ = lRow To 7 Step -1
    With Cells(jZ, 2)
    If .Offset(, -1) = "Toång" Then
    ElseIf IsDate(.Value) Then
        jZ = jZ - 1
    Else
        If .Value = "" Then
            If Rng Is Nothing Then
                Set Rng = .EntireRow
            Else
                Set Rng = Union(Rng, .EntireRow)
            End If
        End If
    End If
    End With
 Next jZ
 Rng.Select
 Selection.EntireRow.Hidden = True
End Sub
 

File đính kèm

  • CongDonRow.rar
    11 KB · Đọc: 218
Web KT
Back
Top Bottom