tự động hide/unhide trong excel?

Liên hệ QC
Chài... ai... Hướng dẩn trên là quá rõ rồi còn gì... Quy trình là thế, còn việc "tự động" còn lại phải thuộc về bạn chứ!
Nếu là tôi thì tôi sẽ:
- Record macro quá trình AutoFilter theo điều kiện
- Xem code, chỉnh sửa lại cho gọn
- Tiếp theo sẽ đặt code vào 1 sự kiện nào đó mà tôi cho là hợp lý để tự động hóa hoàn toàn công việc
Code sơ bộ:
PHP:
Option Explicit
Private Sub Worksheet_Activate()
   Dim Rng As Range
   Set Rng = [A8].CurrentRegion
   Rng.AutoFilter Field:=1, Criteria1:="<>0"
End Sub
Với file đính kèm này, nếu bạn thay đổi dử liệu ở nguồn, thì mổi khi bạn chọn vào sheet PrintForm bạn sẽ thấy việc Hide row được tự động hóa hoàn toàn
Khi nhập giá trị khác 0 vào hàng có giá trị bằng 0 trước đó, thì làm sao để show hàng đó ra trở lại à?
 
Xin chào các pro!

Trở lại với đề tài auto hide/unhide.
- Nếu Sheet1, A1=False thì Sheet2, A1:E5 (đoạn này có thể đặt tên là ABC) sẽ tự động ẩn, còn nếu Sheet1, A1=TRUE thì hiện.
Các Pro giúp mình nhé.
Cảm ơn!
 
Giải pháp theo p/a thử




thê thì tại
G15 chẳng hạn có công thức =H1
tại H1 gõ 0 hoặc 1 (khác 0 là được) -> ẩn hoặc hiện dòng 15

thì CODE thế này

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
      If Not Intersect([H1], Target) Is Nothing Then
            If [G15].Value = 0 Then
                Rows("15:15").EntireRow.Hidden = True
            Else: Rows("15:15").EntireRow.Hidden = False: End If
      End If
End Sub

down file gửi kèm
thế cho e hỏi nếu bảng tính e có 100 dòng...nhưng dữ liệu chỉ có 5 dòng vậy làm sao ẩn hết 95 dòng k có dữ liệu ạ
 
file đây ạ...e cần code để tự động hide/unhide ở sheet 1 ạ...e có video cụ thể nếu cần e gửi ạ
Có phải bạn muốn lọc từ sheet Tổng về Sheet Bảng TDGH với điều kiện thỏa mãn từ ngày đến ngày trên cell N1, O1 sheet Bảng TDGH ?
 
Có phải bạn muốn lọc từ sheet Tổng về Sheet Bảng TDGH với điều kiện thỏa mãn từ ngày đến ngày trên cell N1, O1 sheet Bảng TDGH ?
đúng rồi bạn...khi thỏa mãn điều kiện thì có thể có nhiều dòng có dữ liệu...còn lại những dòng không có dữ liệu thì tự động hide
 
đúng rồi bạn...khi thỏa mãn điều kiện thì có thể có nhiều dòng có dữ liệu...còn lại những dòng không có dữ liệu thì tự động hide
Vậy thì đây là bài toán lọc có điều kiện, chứ ko phải hide/unhide.
Bạn biết dùng advanced filter ko? Đấy là 1 giải pháp, chỉ có điều cần cơ cấu lại các trường thông tin bên sheet Bảng TDGH, sao cho tên các trường cần lấy giống hệt bên sheet Tổng, và ko được merge cell.
Còn nếu muốn giữ nguyên kết cấu của Bảng TDGH thì chỉ có thể dùng VBA
 
Vậy thì đây là bài toán lọc có điều kiện, chứ ko phải hide/unhide.
Bạn biết dùng advanced filter ko? Đấy là 1 giải pháp, chỉ có điều cần cơ cấu lại các trường thông tin bên sheet Bảng TDGH, sao cho tên các trường cần lấy giống hệt bên sheet Tổng, và ko được merge cell.
Còn nếu muốn giữ nguyên kết cấu của Bảng TDGH thì chỉ có thể dùng VBA
VBA như nào đấy bạn
 
Bạn nên mở 1 thớt mới để hỏi, sẽ có nhiều giải pháp cho bạn.
Ngoài ra, về File gửi lên cần nhiều dữ liệu hơn, sao phần tiến độ giao hàng chỉ có tháng 8, 9 , 10, vậy từ tháng 1 bạn có cần phải thống kê không? hãy gửi dữ liệu tương đối chút và mở Topic mới nhé.
 
Giải pháp theo p/a thử




thê thì tại
G15 chẳng hạn có công thức =H1
tại H1 gõ 0 hoặc 1 (khác 0 là được) -> ẩn hoặc hiện dòng 15

thì CODE thế này

PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
      If Not Intersect([H1], Target) Is Nothing Then
            If [G15].Value = 0 Then
                Rows("15:15").EntireRow.Hidden = True
            Else: Rows("15:15").EntireRow.Hidden = False: End If
      End If
End Sub

down file gửi kèm
Các bác giúp e với, trường hợp H1 ở sheet1 = tham chiếu từ i1 ở sheet2 sang thì code tnao ạh. E test code như trên nếu gõ ở 0-1 ở tại H1 (Sheet1) thì ok, nhưng tham chiếu H1 = Sheet2!I1 thì k chạy ạk. Mong các cao nhân giúp đỡ ạh. Thanks all...!
 

File đính kèm

Các bác giúp e với, trường hợp H1 ở sheet1 = tham chiếu từ i1 ở sheet2 sang thì code tnao ạh. E test code như trên nếu gõ ở 0-1 ở tại H1 (Sheet1) thì ok, nhưng tham chiếu H1 = Sheet2!I1 thì k chạy ạk. Mong các cao nhân giúp đỡ ạh. Thanks all...!
Thì đổi sang WorkSheet_Change của Sheet2
và đổi vai trò H1 thành I1
Tức là luôn phải tìm cái gốc thay đổi
 
Chài... ai... Hướng dẩn trên là quá rõ rồi còn gì... Quy trình là thế, còn việc "tự động" còn lại phải thuộc về bạn chứ!
Nếu là tôi thì tôi sẽ:
- Record macro quá trình AutoFilter theo điều kiện
- Xem code, chỉnh sửa lại cho gọn
- Tiếp theo sẽ đặt code vào 1 sự kiện nào đó mà tôi cho là hợp lý để tự động hóa hoàn toàn công việc
Code sơ bộ:
PHP:
Option Explicit
Private Sub Worksheet_Activate()
   Dim Rng As Range
   Set Rng = [A8].CurrentRegion
   Rng.AutoFilter Field:=1, Criteria1:="<>0"
End Sub
Với file đính kèm này, nếu bạn thay đổi dử liệu ở nguồn, thì mổi khi bạn chọn vào sheet PrintForm bạn sẽ thấy việc Hide row được tự động hóa hoàn toàn
Ban cho mình hỏi: mình cũng tạo macro, cũng code VBA xong và Save lại nhưng khi tắt đi mở lại thấy macro và code không được lưu, nhờ bạn hướng dẫn giúp.
 
Web KT

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

Back
Top Bottom