Sửa giúp code ẩn dòng trống theo điều kiện (1 người xem)

Liên hệ QC

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

thonggtcc

Thành viên mới
Tham gia
16/1/07
Bài viết
19
Được thích
0
Mình đã search trên diễn đàn đề tài tương tự nhưng không đáp ứng điều kiện.
Yêu cầu đặt ra là:
1. Ẩn các dòng trống không có dữ liệu thoả điều kiện tại Cột A và Cột L.
2. Ẩn các dòng trống không có dữ liệu LIÊN TỤC CỦA CỘT A KHI CON TRỎ HIỆN HÀNH và dòng trống không có dữ liệu tại CỘT L.
Mình đã tạo 1 macro và đưa thử điều kiện and vào cho điều kiện 1 nhưng không thực hiện được. Vậy mong các cao thủ trên diễn đàn chỉ giúp được không ạ.
File đính kèm
 

File đính kèm

Mình đã search trên diễn đàn đề tài tương tự nhưng không đáp ứng điều kiện.
Yêu cầu đặt ra là:
1. Ẩn các dòng trống không có dữ liệu thoả điều kiện tại Cột A và Cột L.
2. Ẩn các dòng trống không có dữ liệu LIÊN TỤC CỦA CỘT A KHI CON TRỎ HIỆN HÀNH và dòng trống không có dữ liệu tại CỘT L.
Mình đã tạo 1 macro và đưa thử điều kiện and vào cho điều kiện 1 nhưng không thực hiện được. Vậy mong các cao thủ trên diễn đàn chỉ giúp được không ạ.
File đính kèm

Tôi không thấy Code của bạn.
Bạn tham khảo Code dưới đây cho yêu cầu 1 của bạn nhé:
PHP:
Sub thonggtcc()
    Dim i As Long
    For i = Range("A" & Rows.Count).End(3).Row To 7 Step -1
        If Cells(i, "A") = "" And Cells(i, "L") = "" Then Rows(i).Hidden = True
    Next i
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
Mình đã search trên diễn đàn đề tài tương tự nhưng không đáp ứng điều kiện.
Yêu cầu đặt ra là:
1. Ẩn các dòng trống không có dữ liệu thoả điều kiện tại Cột A và Cột L.
2. Ẩn các dòng trống không có dữ liệu LIÊN TỤC CỦA CỘT A KHI CON TRỎ HIỆN HÀNH và dòng trống không có dữ liệu tại CỘT L.
Mình đã tạo 1 macro và đưa thử điều kiện and vào cho điều kiện 1 nhưng không thực hiện được. Vậy mong các cao thủ trên diễn đàn chỉ giúp được không ạ.
File đính kèm
Không biết có đúng ý bạn không, nhưng mình đã làm thử trên file bạn gửi rồi nhé-0-/.
Sub vidu()
Dim i As Integer, sd As Integer


'''''kiem tra so dong cua du lieu'''''''
ActiveSheet.Select
sd = 5
For i = 6 To 500 ''''500 la minh mac dinh thoi nhe'''''
If Cells(i, 2) <> "" Then
sd = sd + 1
End If
Next i


For i = 6 To sd
If Cells(i, 1) = "" And Cells(i, 12) = "" Then
Rows(i).EntireRow.Hidden = True
End If
Next i


MsgBox "Complete!"
End Sub
 
Upvote 0

1. Với code của anh phulien1902 thì em không hiểu: code vẫn chạy bình thường nhưng chỉ ẩn đến dòng 16, các dòng sau không có tác dụng.
2. Với code của anh ngocnv_hn88 thì chạy rất tốt, rất đúng ý đồ của em.
Rất cảm ơn sự nhiệt tình của 2 anh.
Còn đối với ý số 2 nhờ các anh giúp code luôn với.


http://www.giaiphapexcel.com/forum/member.php?856827-phulien1902
 
Upvote 0
dữ liệu LIÊN TỤC CỦA CỘT A KHI CON TRỎ HIỆN HÀNH là cái gì ????
 
Upvote 0
dữ liệu LIÊN TỤC CỦA CỘT A KHI CON TRỎ HIỆN HÀNH tức là khi cell thứ n là đang hiện hành thì chỉ xét trường hợp dữ liệu trống liên tục tại cột A xung quanh cell hiện hành này thôi ạ (có kèm theo điều kiện dữ liệu cột L như trên nữa).
 
Upvote 0
1. Với code của anh phulien1902 thì em không hiểu: code vẫn chạy bình thường nhưng chỉ ẩn đến dòng 16, các dòng sau không có tác dụng.
2. Với code của anh ngocnv_hn88 thì chạy rất tốt, rất đúng ý đồ của em.
Rất cảm ơn sự nhiệt tình của 2 anh.
Còn đối với ý số 2 nhờ các anh giúp code luôn với.





Bạn xem có ẩn hết không nhé, mình sửa lại 1 tý
PHP:
Sub thonggtcc()
    Dim i As Long
    For i = Range("C" & Rows.Count).End(3).Row To 7 Step -1
        If Cells(i, "A") = "" And Cells(i, "L") = "" Then Rows(i).Hidden = True
    Next i
End Sub
 
Lần chỉnh sửa cuối:
Upvote 0
rồi lại có thêm từ mới nữa :
thế nào là xung quanh cell hiện hành này
 
Upvote 0
Bạn xem có ẩn hết không nhé, mình sửa lại 1 tý
PHP:
Sub thonggtcc()
    Dim i As Long
    For i = Range("C" & Rows.Count).End(3).Row To 7 Step -1
        If Cells(i, "A") = "" And Cells(i, "L") = "" Then Rows(i).Hidden = True
    Next i
End Sub

Ồ, rất đúng ý mình rồi. Code làm việc rất tốt.

"rồi lại có thêm từ mới nữa :
thế nào là xung quanh cell hiện hành này"
Mình diễn tả không được tốt, xin bạn doveandrose xem file đính kèm
 

File đính kèm

Upvote 0
Ồ, rất đúng ý mình rồi. Code làm việc rất tốt.

"rồi lại có thêm từ mới nữa :
thế nào là xung quanh cell hiện hành này"
Mình diễn tả không được tốt, xin bạn doveandrose xem file đính kèm

có nghĩa là mấy dòng tô màu xanh dương là ẩn hết mà không cần biết cột L có dữ liệu hay không đúng không ?
 
Upvote 0
dữ liệu LIÊN TỤC CỦA CỘT A KHI CON TRỎ HIỆN HÀNH tức là khi cell thứ n là đang hiện hành thì chỉ xét trường hợp dữ liệu trống liên tục tại cột A xung quanh cell hiện hành này thôi ạ (có kèm theo điều kiện dữ liệu cột L như trên nữa).
câu 1
Mã:
Public Sub hello1()
Sheet1.[AO2].Value = "=OR(A6<>"""",L6<>"""")"
Sheet1.Range("A5:M10000").AdvancedFilter xlFilterInPlace, Sheet1.[AO1:AO2]
Sheet1.[AO2].ClearContents
End Sub

câu 2
chỉ xét trường hợp dữ liệu trống liên tục tại cột A xung quanh cell hiện hành này thôi
Mã:
Public Sub hello2()
Dim rng As Range, fr As Long, lr As Long
On Error Resume Next
Set rng = Selection
On Error GoTo 0
If rng Is Nothing Then Exit Sub
fr = rng.Row
If Sheet1.Range("A" & fr).Value = Empty Then fr = Sheet1.Range("A" & fr).End(xlUp).Row
lr = rng.Row + 1
If Sheet1.Range("A" & lr).Value = Empty Then lr = Sheet1.Range("A" & lr).End(xlDown).Row
Sheet1.[AO2].Value = "=OR(ROW(A6)<=" & fr & ",ROW(A6)>=" & lr & ",A6<>"""",L6<>"""")"
Sheet1.Range("A5:M10000").AdvancedFilter xlFilterInPlace, Sheet1.[AO1:AO2]
Sheet1.[AO2].ClearContents
End Sub
 
Upvote 0
câu 1
Mã:
Public Sub hello1()
Sheet1.[AO2].Value = "=OR(A6<>"""",L6<>"""")"
Sheet1.Range("A5:M10000").AdvancedFilter xlFilterInPlace, Sheet1.[AO1:AO2]
Sheet1.[AO2].ClearContents
End Sub

câu 2

Mã:
Public Sub hello2()
Dim rng As Range, fr As Long, lr As Long
On Error Resume Next
Set rng = Selection
On Error GoTo 0
If rng Is Nothing Then Exit Sub
fr = rng.Row
If Sheet1.Range("A" & fr).Value = Empty Then fr = Sheet1.Range("A" & fr).End(xlUp).Row
lr = rng.Row + 1
If Sheet1.Range("A" & lr).Value = Empty Then lr = Sheet1.Range("A" & lr).End(xlDown).Row
Sheet1.[AO2].Value = "=OR(ROW(A6)<=" & fr & ",ROW(A6)>=" & lr & ",A6<>"""",L6<>"""")"
Sheet1.Range("A5:M10000").AdvancedFilter xlFilterInPlace, Sheet1.[AO1:AO2]
Sheet1.[AO2].ClearContents
End Sub

Ồ, cả 2 đoạn code đều chạy rất ngon lành (đúng cả ý nữa).
Một lần nữa cảm ơn các anh chị trên diễn đàn đã giúp.
Tuy nhiên, mình còn có khúc mắc này nhưng do năng lực hạn chế nên không giải quyết được.
Đó là:
Với file dữ liệu như bài #10, yêu cầu đặt ra là:
1. Cảnh báo dữ liệu trùng tại cột B khi nhập tuyến đường mới vào (giả sử người khác thực hiện mà không biết có dữ liệu này rồi). Lưu ý: Chỉ cảnh báo trùng theo tuyến đường thôi (tức là cột A được đánh số thứ tự thì dữ liệu tại cột B mới được xem là tuyến đường: để khỏi trùng lắp trong chi tiết đó).
2. Cảnh báo dữ liệu trùng của 1 tuyến đường khi đang nhập dữ liệu mới vào.
CHi tiết xin xem file đính kèm.
Xin cảm ơn.
 

File đính kèm

Upvote 0
Ồ, cả 2 đoạn code đều chạy rất ngon lành (đúng cả ý nữa).
Một lần nữa cảm ơn các anh chị trên diễn đàn đã giúp.
Tuy nhiên, mình còn có khúc mắc này nhưng do năng lực hạn chế nên không giải quyết được.
Đó là:
Với file dữ liệu như bài #10, yêu cầu đặt ra là:
1. Cảnh báo dữ liệu trùng tại cột B khi nhập tuyến đường mới vào (giả sử người khác thực hiện mà không biết có dữ liệu này rồi). Lưu ý: Chỉ cảnh báo trùng theo tuyến đường thôi (tức là cột A được đánh số thứ tự thì dữ liệu tại cột B mới được xem là tuyến đường: để khỏi trùng lắp trong chi tiết đó).
2. Cảnh báo dữ liệu trùng của 1 tuyến đường khi đang nhập dữ liệu mới vào.
CHi tiết xin xem file đính kèm.
Xin cảm ơn.

Có anh chị nào ghé ngang tranh thủ xem xét giúp tí.
 
Upvote 0
Web KT

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

Back
Top Bottom