Tìm cách tự động ẩn dòng có giá trị 0, và tự động in

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

ntt0101

Thành viên mới
Tham gia
29/7/24
Bài viết
9
Được thích
0
E có 1 file cần in nhiều dòng, tại Sheet "PGH TT" - khi thay đổi giá trị tại ô J11 (giá trị thay đổi từ 1 đến 4), các giá trị trong cột D sẽ thay đổi.
E muốn khi thay đổi như vậy, giá trị cột D (D18 - D47). sẽ tự ẩn giá trị 0, mà ko cần chọn vào lọc ở ô "Tên sản phẩm". Nếu được thì có thể tự điền giá trị tại ô J11 (từ 1 đến 100) - tự ẩn 0 - tự in.
E cảm ơn ạ.
https://upfile.live/files/febff190
 
Hổ trợ giúp em ạ, em cảm nhiều.
 
E có 1 file cần in nhiều dòng, tại Sheet "PGH TT" - khi thay đổi giá trị tại ô J11 (giá trị thay đổi từ 1 đến 4), các giá trị trong cột D sẽ thay đổi.
E muốn khi thay đổi như vậy, giá trị cột D (D18 - D47). sẽ tự ẩn giá trị 0, mà ko cần chọn vào lọc ở ô "Tên sản phẩm". Nếu được thì có thể tự điền giá trị tại ô J11 (từ 1 đến 100) - tự ẩn 0 - tự in.
E cảm ơn ạ.
https://upfile.live/files/febff190
Bạn tham khảo bài #9 của bài viết sau:
https://www.giaiphapexcel.com/diendan/threads/in-hàng-loạt-bảng-kê-mua-vào.170512/post-1131628
 
E có 1 file cần in nhiều dòng, tại Sheet "PGH TT" - khi thay đổi giá trị tại ô J11 (giá trị thay đổi từ 1 đến 4), các giá trị trong cột D sẽ thay đổi.
E muốn khi thay đổi như vậy, giá trị cột D (D18 - D47). sẽ tự ẩn giá trị 0, mà ko cần chọn vào lọc ở ô "Tên sản phẩm". Nếu được thì có thể tự điền giá trị tại ô J11 (từ 1 đến 100) - tự ẩn 0 - tự in.
E cảm ơn ạ.
https://upfile.live/files/febff190
không hiểu tự điền giá trị J11 là gì? nhưng bạn xem file này chạy xem được không
 

File đính kèm

  • MEGA - 2 PGH + 1 TBGH (KHO) ĐÔNG MÁT - LCS.xlsm
    3.1 MB · Đọc: 5
không hiểu tự điền giá trị J11 là gì? nhưng bạn xem file này chạy xem được không
Chỗ J11 - ý mình muốn là
B1: J11 sẽ tự điền giá trị 1.
B2: Sau đó tự ẩn dòng có giá trị 0 từ D18-D47
B3: Sau đó tự in. (rồi quay lại B1 - và điền giá trị 2 đến số phiếu cần in)
 

File đính kèm

  • MEGA - 2 PGH + 1 TBGH (KHO) ĐÔNG MÁT - LCS.xlsm
    1.5 MB · Đọc: 11
E cảm ơn vì sự giúp đỡ.
A dùng code j để khi nhấn vào button mũi tên lên xuống, nó nhảy số và các dòng kia tự ẩn giá trị 0 v a.
Để ẩn dòng: Trong sự kiện Change của SpinButton1 bạn gọi lệnh FilterHideZeros Sheet5, "B17:I47", 3 để ẩn giá trị 0.
Để nhảy số: Thiết lập ở thẻ Properties cho nút lệnh SpinButton1 vị trí Linkedcell là ô J11, các giá trị Max, Min và SmallChange
Lưu ý: Chọn Design Mode trước, sau khi thực hiện xong bỏ chọn Design Mode.

1722557508807.png
1722557589195.png
 
Để ẩn dòng: Trong sự kiện Change của SpinButton1 bạn gọi lệnh FilterHideZeros Sheet5, "B17:I47", 3 để ẩn giá trị 0.
Để nhảy số: Thiết lập ở thẻ Properties cho nút lệnh SpinButton1 vị trí Linkedcell là ô J11, các giá trị Max, Min và SmallChange
Lưu ý: Chọn Design Mode trước, sau khi thực hiện xong bỏ chọn Design Mode.

View attachment 302845
View attachment 302846
Cảm ơn a rất nhiều. Rất nhiệt tình ạ.
 
Để ẩn dòng: Trong sự kiện Change của SpinButton1 bạn gọi lệnh FilterHideZeros Sheet5, "B17:I47", 3 để ẩn giá trị 0.
Để nhảy số: Thiết lập ở thẻ Properties cho nút lệnh SpinButton1 vị trí Linkedcell là ô J11, các giá trị Max, Min và SmallChange
Lưu ý: Chọn Design Mode trước, sau khi thực hiện xong bỏ chọn Design Mode.

View attachment 302845
View attachment 302846

A cho e hỏi thêm đoạn này
Mã:
            Sheets(Array(Sheet5.Name)).PrintOut Copies:=j, Collate:=True, _
            IgnorePrintAreas:=False     'MUON IN NHIEU SHEET KHAC THI THEM PHIA SAU SHEET5.NAME
A có note là "'MUON IN NHIEU SHEET KHAC THI THEM PHIA SAU SHEET5.NAME", vậy nếu muốn in thêm Sheet 1 2 3 thì thêm như nào ạ.

Phần Sheet5.Name, Name có ý nghĩa j a.
 
Lần chỉnh sửa cuối:
A cho e hỏi thêm đoạn này
Mã:
            Sheets(Array(Sheet5.Name)).PrintOut Copies:=j, Collate:=True, _
            IgnorePrintAreas:=False     'MUON IN NHIEU SHEET KHAC THI THEM PHIA SAU SHEET5.NAME
A có note là "'MUON IN NHIEU SHEET KHAC THI THEM PHIA SAU SHEET5.NAME", vậy nếu muốn in thêm Sheet 1 2 3 thì thêm như nào ạ.

Phần Sheet5.Name, Name có ý nghĩa j a.
Ví dụ muốn in 3 sheet được khoanh vùng thì viết code như hình. Sheet5.Name sẽ lấy sheet có tên là "PGH TT". Có thể viết tên sheet dạng trong cặp dấu () hoặc ngoài đều được. Viết dạng Sheet5.Name này có lợi thế là khi người dùng đổi tên "PGH TT" thành tên khác thì code vẫn hoạt động bình thường.
1722959539978.png
 
Ví dụ muốn in 3 sheet được khoanh vùng thì viết code như hình. Sheet5.Name sẽ lấy sheet có tên là "PGH TT". Có thể viết tên sheet dạng trong cặp dấu () hoặc ngoài đều được. Viết dạng Sheet5.Name này có lợi thế là khi người dùng đổi tên "PGH TT" thành tên khác thì code vẫn hoạt động bình thường.
View attachment 302980
1723061325919.png
1723061389357.png
1723061845151.png
E Đã thử đổi theo, và muốn in 2 sheet 15 và 5, nhưng khi bấm in ở sheet5, thì nó chạy lệnh ở sheet15.
 

File đính kèm

  • MEGA - 2 PGH + 1 TBGH (KHO) ĐÔNG MÁT - LCS.xlsm
    1.5 MB · Đọc: 3
Bạn dùng file này xem thử nhé. Mình đang ví dụ in sheet5 và sheet6

View attachment 303024
Nếu như vậy, khi e bấm in ở sheet15 (e tự thêm), thì nó sẽ chạy theo printTo - printFrom ở sheet 5, và mỗi sheet5,6,15 1 bản ạ.
Em mong muốn là khi in ở sheetX (khác Sheet5), thì e tạo nút in như a, và nó sẽ in theo printTo - printFrom của sheetX đó.
 
E Đã thử đổi theo, và muốn in 2 sheet 15 và 5, nhưng khi bấm in ở sheet5, thì nó chạy lệnh ở sheet15.
Theo như đây thì bạn muốn in cả 2 sheet.
Em mong muốn là khi in ở sheetX (khác Sheet5), thì e tạo nút in như a, và nó sẽ in theo printTo - printFrom của sheetX đó.
Còn đây thì bạn muốn in chỉ sheet đang chọn.
Vậy đâu là cái bạn cần?
Nếu in 1 sheet đang chọn thì thay tên sheet5 cụ thể bằng ActiveSheet.
 
Web KT

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

Back
Top Bottom