dangky47h
Thành viên thường trực
- Tham gia
- 4/9/17
- Bài viết
- 329
- Được thích
- 41
- Giới tính
- Nam
Bạn dùng thử code này xem sao.Ẩ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
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àoBạ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
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 đượcVâng, em cám ơn nhiều, e loay hoay mãi mà không biết thế nào
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.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
Vâng, Em có xem kết quả Thầy ạ!, vẫn như ban đầu thầy ạ!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 ạ!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 ạ!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é!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.
Bạn xem fileDo 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.
Vâng, em cám ơn thầy nhìu, được rồi thầy ạ!Bạn xem file
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ạn xem file
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 ẩnBạn xem file
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.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
Bạn xem lại file.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!
Vâng đúng ý Em rồi, Em cám ơn Thầy nhiều!Bạn xem lại file.
Thầy ơi, Thầy cho Em hỏi thêm:Bạn xem lại file.
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.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!
không chèn được 1000 thầy ơi, chèn quá mấy dòng nó báo lỗi ngayBâ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.
Bạn sửa chổ A100 thành A1000 là được, cụ thể thay dòng.không chèn được 1000 thầy ơi, chèn quá mấy dòng nó báo lỗi ngay
S = "A16:N" & Sheets("KC_CD" & i).Range("A100").End(xlUp).Offset(-7).Row
S = "A16:N" & Sheets("KC_CD" & i).Range("A1000").End(xlUp).Offset(-7).Row
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ị!Bạn sửa chổ A100 thành A1000 là được, cụ thể thay dòng.
thành dòng.Mã:S = "A16:N" & Sheets("KC_CD" & i).Range("A100").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.Mã:S = "A16:N" & Sheets("KC_CD" & i).Range("A1000").End(xlUp).Offset(-7).Row
Sao hai tài khoản @dangky47h và @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.
ở 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ỗiBạn sửa chổ A100 thành A1000 là được, cụ thể thay dòng.
thành dòng.Mã:S = "A16:N" & Sheets("KC_CD" & i).Range("A100").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.Mã:S = "A16:N" & Sheets("KC_CD" & i).Range("A1000").End(xlUp).Offset(-7).Row
Sao hai tài khoản @dangky47h và @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.
DIỄN ĐÀN GIẢI PHÁP EXCEL