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
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!
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
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
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é.
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
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...!
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...!
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.
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.