Các Anh chị giúp em vấn đề ẩn dòng trong nhiều sheet có tính chất tương tự

dangky47h

Thành viên thường trực
Tham gia ngày
4 Tháng chín 2017
Bài viết
318
Được thích
37
Điểm
185
Tuổi
33
Ẩn đồng loạt các dòng bôi màu vàng (từ sheet 10 đến Sheet 1 các dòng cần ẩn có tính chất tương tự như sheet 11), vùng lựa chọn khi xét điều kiện để ẩn từ A16:N54 trong tất cả các Sheet1.jpg
 

File đính kèm

giaiphap

Thành viên gạo cội
Tham gia ngày
12 Tháng ba 2007
Bài viết
4,834
Được thích
4,094
Điểm
860
Ẩn đồng loạt các dòng bôi màu vàng (từ sheet 10 đến Sheet 1 các dòng cần ẩn có tính chất tương tự như sheet 11), vùng lựa chọn khi xét điều kiện để ẩn từ A16:N54 trong tất cả các SheetView attachment 198494
Bạn dùng thử code này xem sao.
Mã:
Public Sub GPE_HideRow()
Dim S As String, i As Integer, Arr(), j As Integer, n As Integer, kt As Boolean
Dim sRng As String
For i = 1 To 10
    S = "A16:N" & Sheets("KC_CD" & i).Range("A100").End(xlUp).Offset(-7).Row
    Arr = Sheets("KC_CD" & i).Range(S).Value
    sRng = ""
    For j = 1 To UBound(Arr)
        kt = True
        For n = 3 To 14
            If Arr(j, n) <> Empty Then
                kt = False
                Exit For
            End If
        Next n
        If kt Then
            If sRng = "" Then
                sRng = (15 + j) & ":" & (15 + j)
            Else
                sRng = sRng & "," & (15 + j) & ":" & (15 + j)
            End If
        End If
    Next j
    Sheets("KC_CD" & i).Cells.EntireRow.Hidden = False
    If sRng <> "" Then Sheets("KC_CD" & i).Range(sRng).EntireRow.Hidden = True
Next i
End Sub
 

dangky47h

Thành viên thường trực
Tham gia ngày
4 Tháng chín 2017
Bài viết
318
Được thích
37
Điểm
185
Tuổi
33
Bạn dùng thử code này xem sao.
Mã:
Public Sub GPE_HideRow()
Dim S As String, i As Integer, Arr(), j As Integer, n As Integer, kt As Boolean
Dim sRng As String
For i = 1 To 10
    S = "A16:N" & Sheets("KC_CD" & i).Range("A100").End(xlUp).Offset(-7).Row
    Arr = Sheets("KC_CD" & i).Range(S).Value
    sRng = ""
    For j = 1 To UBound(Arr)
        kt = True
        For n = 3 To 14
            If Arr(j, n) <> Empty Then
                kt = False
                Exit For
            End If
        Next n
        If kt Then
            If sRng = "" Then
                sRng = (15 + j) & ":" & (15 + j)
            Else
                sRng = sRng & "," & (15 + j) & ":" & (15 + j)
            End If
        End If
    Next j
    Sheets("KC_CD" & i).Cells.EntireRow.Hidden = False
    If sRng <> "" Then Sheets("KC_CD" & i).Range(sRng).EntireRow.Hidden = True
Next i
End Sub
Vâng, em cám ơn nhiều, e loay hoay mãi mà không biết thế nào
Bài đã được tự động gộp:

Vâng, em cám ơn nhiều, e loay hoay mãi mà không biết thế nào
E vừa coppy đoạn mã code thầy viết giúp vào module và nhấn run để chạy code nhưng k thấy gì, cho em hỏi thêm để thực hiện được
có phải tạo nút Maccro liên kết tới code đó không ạ! em cũng chưa biết mấy nên gà quá! em cám ơn
 
Lần chỉnh sửa cuối:

giaiphap

Thành viên gạo cội
Tham gia ngày
12 Tháng ba 2007
Bài viết
4,834
Được thích
4,094
Điểm
860
E vừa coppy đoạn mã code thầy viết giúp vào module và nhấn run để chạy code nhưng k thấy gì, cho em hỏi thêm để thực hiện được
có phải tạo nút Maccro liên kết tới code đó không ạ! em cũng chưa biết mấy nên gà quá! em cám ơn
Khi bạn Run code không thấy gì hết, nhưng kết cuối cùng có đạt được mục đích của mình chưa mới quan trọng chứ. Bạn bạn chạy code mà không xem kết quả thì cũng như không.
 
Lần chỉnh sửa cuối:

dangky47h

Thành viên thường trực
Tham gia ngày
4 Tháng chín 2017
Bài viết
318
Được thích
37
Điểm
185
Tuổi
33
Khi bạn Run code không thấy gì hết, nhưng kết cuối cùng có đạt được mục đích của mình chưa mới quan trọng chứ. Bạn bạn chạy code mà không xem kết quả thì cũng như không.
Vâng, Em có xem kết quả Thầy ạ!, vẫn như ban đầu thầy ạ!
Bài đã được tự động gộp:

Khi bạn Run code không thấy gì hết, nhưng kết cuối cùng có đạt được mục đích của mình chưa mới quan trọng chứ. Bạn bạn chạy code mà không xem kết quả thì cũng như không.
Em thao tác như vậy có lỗi gì không vậy Thầy, Thầy có thể cho code vào chạy giúp Em có được không ạ!
Bài đã được tự động gộp:

Khi bạn Run code không thấy gì hết, nhưng kết cuối cùng có đạt được mục đích của mình chưa mới quan trọng chứ. Bạn bạn chạy code mà không xem kết quả thì cũng như không.
à em làm thấy kết quả rồi thầy ạ! nhưng sheet "KC_CD11" chưa bị có tác dụng thầy ạ! các sheet khác thì đều được thầy ạ!
 
Lần chỉnh sửa cuối:

dangky47h

Thành viên thường trực
Tham gia ngày
4 Tháng chín 2017
Bài viết
318
Được thích
37
Điểm
185
Tuổi
33
Khi bạn Run code không thấy gì hết, nhưng kết cuối cùng có đạt được mục đích của mình chưa mới quan trọng chứ. Bạn bạn chạy code mà không xem kết quả thì cũng như không.
Do sheet "KC_CD11" và các sheet khác nội dung chưa đồng nhất thầy ạ! e vừa chỉnh lại một chút để nội dung các sheet đồng nhất, thầy giúp em thêm chút xíu nữa nhé! e cám ơn thầy, em làm mấy trăm sheet toàn làm thủ công mất thời gian mà đôi khi xóa nhầm dòng, thầy xem giúp e nốt lần này nhé!
P/s: Ẩn đồng loạt các dòng bôi màu vàng, dòng bôi màu xanh tuy không có dữ liệu nhưng không bị ẩn (từ sheet "KC_CD11" đến Sheet "KC_CD1" các dòng cần ẩn có tính chất tương tự như sheet "KC_CD11), sheet điển hình là sheet "KC_CD11" vùng lựa chọn khi xét điều kiện để ẩn từ A16:N54 trong tất cả các Sheet.
 

File đính kèm

giaiphap

Thành viên gạo cội
Tham gia ngày
12 Tháng ba 2007
Bài viết
4,834
Được thích
4,094
Điểm
860
Do sheet "KC_CD11" và các sheet khác nội dung chưa đồng nhất thầy ạ! e vừa chỉnh lại một chút để nội dung các sheet đồng nhất, thầy giúp em thêm chút xíu nữa nhé! e cám ơn thầy, em làm mấy trăm sheet toàn làm thủ công mất thời gian mà đôi khi xóa nhầm dòng, thầy xem giúp e nốt lần này nhé!
P/s: Ẩn đồng loạt các dòng bôi màu vàng, dòng bôi màu xanh tuy không có dữ liệu nhưng không bị ẩn (từ sheet "KC_CD11" đến Sheet "KC_CD1" các dòng cần ẩn có tính chất tương tự như sheet "KC_CD11), sheet điển hình là sheet "KC_CD11" vùng lựa chọn khi xét điều kiện để ẩn từ A16:N54 trong tất cả các Sheet.
Bạn xem file
 

File đính kèm

dangky47h

Thành viên thường trực
Tham gia ngày
4 Tháng chín 2017
Bài viết
318
Được thích
37
Điểm
185
Tuổi
33
Thầy ơi, file mẫu Thầy sửa giúp em nó ẩn được đến dòng thứ 65, nếu muốn ẩn dòng thứ 66 thì báo lỗi, Thầy cho em hỏi em chỉnh phần nào trong mã code Thầy viết để có thể ẩn được nhiều dòng hơn số dòng thứ 65 vậy Thầy, Em cám ơn thầy!
Bài đã được tự động gộp:

Em vừa xem kỹ lại ở sheet "KC_CD11" thì đúng ý rồi nhưng đến sheet "KC_CD10" trở đi thì nó lại ẩn cả dòng mình không muốn ẩn
(như sheet "KC_CD9" nó lại ẩn cả dòng bôi xanh Thầy ạ! sheet "KC_CD11" nó không ẩn dòng bôi xanh, nhung sheet "KC_CD9" dòng bôi xanh lại bị ẩn)
Thầy giúp Em hoàn thiện đẻ các sheet còn lại đều được như sheet "KC_CD11" được k ạ!, với lại thêm số dòng ẩn thì chỉnh phần nào trong code vậy ạ!67.jpg
 

File đính kèm

Lần chỉnh sửa cuối:

giaiphap

Thành viên gạo cội
Tham gia ngày
12 Tháng ba 2007
Bài viết
4,834
Được thích
4,094
Điểm
860
Thầy ơi, file mẫu Thầy sửa giúp em nó ẩn được đến dòng thứ 65, nếu muốn ẩn dòng thứ 66 thì báo lỗi, Thầy cho em hỏi em chỉnh phần nào trong mã code Thầy viết để có thể ẩn được nhiều dòng hơn số dòng thứ 65 vậy Thầy, Em cám ơn thầy!
Bài đã được tự động gộp:


Em vừa xem kỹ lại ở sheet "KC_CD11" thì đúng ý rồi nhưng đến sheet "KC_CD10" trở đi thì nó lại ẩn cả dòng mình không muốn ẩn
(như sheet "KC_CD9" nó lại ẩn cả dòng bôi xanh Thầy ạ! sheet "KC_CD11" nó không ẩn dòng bôi xanh, nhung sheet "KC_CD9" dòng bôi xanh lại bị ẩn)
Thầy giúp Em hoàn thiện đẻ các sheet còn lại đều được như sheet "KC_CD11" được k ạ!, với lại thêm số dòng ẩn thì chỉnh phần nào trong code vậy ạ!View attachment 198645
Vấn đề ở đây ẩn dựa vào tiêu chí nào mới được chứ? code ở đây tôi dựa vào điều kiện là nếu tất cả các ô theo chiều ngang từ cột A đến cột N đều không có dữ liệu thì ẩn hoặc từ cột A đến cột N đều không có dữ liệu kết hợp với cột A và cột B có dữ liệu thì cũng ẩn. Bây giờ bạn cho tôi biết tại sao ở sheet KC_CD11, dòng 30 thì ẩn, trong khi ở sheet KC_CD9 dòng 18 lại không ẩn mặc dù bản chất dữ liệu đều như nhau ở các cột.
 

dangky47h

Thành viên thường trực
Tham gia ngày
4 Tháng chín 2017
Bài viết
318
Được thích
37
Điểm
185
Tuổi
33
Vâng, ở Sheet "KC_CD11 " (dòng thứ 17 đến 20) và sheet "KC_CD9 " (dòng thứ 18 đến dòng thứ 19) đều có tính chất tương tự nhau
Nhưng ở Sheet "KC_CD11 " e thấy dòng thứ 17 không bị ẩn, nhưng sang Sheet "KC_CD9 " dòng thứ 18 lại bị ẩn
Thầy có hỏi em:
"Bây giờ bạn cho tôi biết tại sao ở sheet KC_CD11, dòng 30 thì ẩn, trong khi ở sheet KC_CD9 dòng 18 lại không ẩn mặc dù bản chất dữ liệu đều như nhau ở các cột."
Em xin trả lời thầy:
- ở sheet KC_CD11, dòng 30 trong vùng chọn C30 đến N30+n (n là số dòng) đều không có dữ liệu
- ở sheet KC_CD9 dòng 18 trong vùng chọn C18 đến N19 là có dữ liệu ở cột từ J19 đến L19
Vì lý do em nêu trên nên dòng 30 ở sheet KC_CD11 bị ẩn và dòng 18 ở sheet KC_CD9 không bị ẩn

Các sheet sau đều có tính chất tương tự Sheet "KC_CD11 ", nên em thắc mắc sheet "KC_CD11 " ẩn được theo ý em, còn các sheet còn lại không ẩn được!
Mong thầy giúp đỡ em!
 

giaiphap

Thành viên gạo cội
Tham gia ngày
12 Tháng ba 2007
Bài viết
4,834
Được thích
4,094
Điểm
860
Vâng, ở Sheet "KC_CD11 " (dòng thứ 17 đến 20) và sheet "KC_CD9 " (dòng thứ 18 đến dòng thứ 19) đều có tính chất tương tự nhau
Nhưng ở Sheet "KC_CD11 " e thấy dòng thứ 17 không bị ẩn, nhưng sang Sheet "KC_CD9 " dòng thứ 18 lại bị ẩn
Thầy có hỏi em:
"Bây giờ bạn cho tôi biết tại sao ở sheet KC_CD11, dòng 30 thì ẩn, trong khi ở sheet KC_CD9 dòng 18 lại không ẩn mặc dù bản chất dữ liệu đều như nhau ở các cột."
Em xin trả lời thầy:
- ở sheet KC_CD11, dòng 30 trong vùng chọn C30 đến N30+n (n là số dòng) đều không có dữ liệu
- ở sheet KC_CD9 dòng 18 trong vùng chọn C18 đến N19 là có dữ liệu ở cột từ J19 đến L19
Vì lý do em nêu trên nên dòng 30 ở sheet KC_CD11 bị ẩn và dòng 18 ở sheet KC_CD9 không bị ẩn

Các sheet sau đều có tính chất tương tự Sheet "KC_CD11 ", nên em thắc mắc sheet "KC_CD11 " ẩn được theo ý em, còn các sheet còn lại không ẩn được!
Mong thầy giúp đỡ em!
Bạn xem lại file.
 

File đính kèm

dangky47h

Thành viên thường trực
Tham gia ngày
4 Tháng chín 2017
Bài viết
318
Được thích
37
Điểm
185
Tuổi
33
Thầy ơi, Thầy cho Em hỏi thêm:
Bây giờ e có thêm sheet cũng tương tự các sheet cũ và cái bảng trong sheet của em nó thêm dòng.
E nhờ Thầy chỉ giúp em chỉnh đoạn nào, phần nào trong mã Code để ẩn được những dòng như ý em muốn vậy ạ!
E cám ơn thầy!
 

giaiphap

Thành viên gạo cội
Tham gia ngày
12 Tháng ba 2007
Bài viết
4,834
Được thích
4,094
Điểm
860
Thầy ơi, Thầy cho Em hỏi thêm:
Bây giờ e có thêm sheet cũng tương tự các sheet cũ và cái bảng trong sheet của em nó thêm dòng.
E nhờ Thầy chỉ giúp em chỉnh đoạn nào, phần nào trong mã Code để ẩn được những dòng như ý em muốn vậy ạ!
E cám ơn thầy!
Bây giờ bạn cứ dùng code đó cho các dữ liệu có 10000 dòng thử xem nó thế nào rồi tính tiếp.
 

giaiphap

Thành viên gạo cội
Tham gia ngày
12 Tháng ba 2007
Bài viết
4,834
Được thích
4,094
Điểm
860
không chèn được 1000 thầy ơi, chèn quá mấy dòng nó báo lỗi ngay
Bạn sửa chổ A100 thành A1000 là được, cụ thể thay dòng.
Mã:
S = "A16:N" & Sheets("KC_CD" & i).Range("A100").End(xlUp).Offset(-7).Row
thành dòng.
Mã:
S = "A16:N" & Sheets("KC_CD" & i).Range("A1000").End(xlUp).Offset(-7).Row
Còn nếu không được nửa thì coi chừng cái sheet của bạn không giống cấu trúc như file ở #12.
Sao hai tài khoản @dangky47h@Bùi Thúy Thúy là một hay sao ấy, tôi thấy 2 tài khoản này đặt các câu hỏi như nhau mặc dù ở 2 chủ đề khác nhau.
 

dangky47h

Thành viên thường trực
Tham gia ngày
4 Tháng chín 2017
Bài viết
318
Được thích
37
Điểm
185
Tuổi
33
Bạn sửa chổ A100 thành A1000 là được, cụ thể thay dòng.
Mã:
S = "A16:N" & Sheets("KC_CD" & i).Range("A100").End(xlUp).Offset(-7).Row
thành dòng.
Mã:
S = "A16:N" & Sheets("KC_CD" & i).Range("A1000").End(xlUp).Offset(-7).Row
Còn nếu không được nửa thì coi chừng cái sheet của bạn không giống cấu trúc như file ở #12.
Sao hai tài khoản @dangky47h@Bùi Thúy Thúy là một hay sao ấy, tôi thấy 2 tài khoản này đặt các câu hỏi như nhau mặc dù ở 2 chủ đề khác nhau.
Không phải thầy ơi, bọn em học kinh tế, nhưng giờ làm cùng nhau, xếp giao cho mảng làm hồ sơ nên nhiều cái chưa biết nên thảo luận cùng, có quen thôi, nhưng là 2 thầy ạ! e bọn em làm ở phòng hồ sơ chất lượng và kiêm kế toán! có gì học hỏi, mong được sự giúp đỡ của Thầy và các Anh Chị!
 

dangky47h

Thành viên thường trực
Tham gia ngày
4 Tháng chín 2017
Bài viết
318
Được thích
37
Điểm
185
Tuổi
33
Bạn sửa chổ A100 thành A1000 là được, cụ thể thay dòng.
Mã:
S = "A16:N" & Sheets("KC_CD" & i).Range("A100").End(xlUp).Offset(-7).Row
thành dòng.
Mã:
S = "A16:N" & Sheets("KC_CD" & i).Range("A1000").End(xlUp).Offset(-7).Row
Còn nếu không được nửa thì coi chừng cái sheet của bạn không giống cấu trúc như file ở #12.
Sao hai tài khoản @dangky47h@Bùi Thúy Thúy là một hay sao ấy, tôi thấy 2 tài khoản này đặt các câu hỏi như nhau mặc dù ở 2 chủ đề khác nhau.
er.jpgở mã code cũ để giá trị "A100" khi em chạy thấy báo lỗi, nên e thay giá trị "A1000" Thầy sửa cho cũng thấy báo lỗi
thầy cho em hỏi cấu trúc các sheet tương tự nhau nhưng sao khi chèn thêm dòng lại lỗi vậy Thầy, hay tại chỗ phần ký này nằm ở vị trí khác nhau trong các sheet nên bị ảnh hưởng đúng k thầy còn về nội dung của bảng thì giống nhau thầy ạ!
 
Top Bottom