Cần giúp: In A4 khổ ngang 2 mặt hàng loạt ở 2 sheet khác nhau

Liên hệ QC

tiniluu123

Có bao giờ bạn tự hỏi "Tôi là ai?"
Tham gia
25/1/19
Bài viết
190
Được thích
99
Giới tính
Nam
Nghề nghiệp
HR
Tôi tính lương cho 50 cửa hàng.
Sau khi tính xong tôi được sheet Mat_Truoc: (phục vụ cho các phòng nghiệp vụ)
1590370903662.png

Tôi copy sheet Mat_Truoc ra thành sheet Mat_Sau có sự thay đổi nhỏ xíu: (phục vụ cho Công đoàn)
+ Thay đổi tiêu đề (đã set Repeat cho 50 cửa hàng)
+ Hide cột Ký nhận cuối cùng và unhide 2 cột "Thu 1% CĐP", "Số tiền còn lại thực nhận".
(chỗ này tôi hỏi ngoài lề câu hỏi chính 1 xíu: công đoạn này- từ copy sheet, paste sheet, rename sheet, đến rename tiêu đề, align tiêu đề, hide cột, unhide 2 cột- tôi gom gọn lại trong 1 nút bấm được không? Vì cuối tháng nào tôi cũng phải làm như thế)
1590371291541.png

Vấn đề: tôi in 1 mặt sheet Mat_Truoc (50 tờ A4), xong tôi lại đưa 50 tờ A4 này vào lại máy in để tiếp tục in 1 mặt sheet Mat_Sau. Công đoạn này dễ trục trặc nếu vì 1 lý do nào đó in xen vào giữa thì sẽ bị lộn thứ tự cửa hàng của tôi hết, nghĩa là mặt trước mặt sau không khớp tên Cửa hàng, tôi bị 3 lần rồi và phải in lại rất mắc công, lãng phí giấy và mất thời gian. Lúc đang gấp mà phải in đi in lại nhiều khi tôi muốn bốc hỏa. :D

* Câu hỏi nhờ mọi người giúp:
Có cách nào với 1 lệnh in để có thể in 1 lúc 2 mặt với mặt trước là sheet Mat_Truoc và mặt sau là sheet Mat_Sau tương ứng cho 50 cửa hàng là 50 trang A4 luôn không? Ghi chú: Máy in có thể in 2 mặt.
File đính kèm là file làm việc thực tế.

Cảm ơn mọi người trước. :)
 

File đính kèm

  • GPE-Tini01.xlsx
    820 KB · Đọc: 13
Tôi copy sheet Mat_Truoc ra thành sheet Mat_Sau có sự thay đổi nhỏ xíu: (phục vụ cho Công đoàn)
+ Thay đổi tiêu đề (đã set Repeat cho 50 cửa hàng)
+ Hide cột Ký nhận cuối cùng và unhide 2 cột "Thu 1% CĐP", "Số tiền còn lại thực nhận".
(chỗ này tôi hỏi ngoài lề câu hỏi chính 1 xíu: công đoạn này- từ copy sheet, paste sheet, rename sheet, đến rename tiêu đề, align tiêu đề, hide cột, unhide 2 cột- tôi gom gọn lại trong 1 nút bấm được không?)
Được.
* Câu hỏi nhờ mọi người giúp:
Có cách nào với 1 lệnh in để có thể in 1 lúc 2 mặt với mặt trước là sheet Mat_Truoc và mặt sau là sheet Mat_Sau tương ứng cho 50 cửa hàng là 50 trang A4 luôn không? Ghi chú: Máy in có thể in 2 mặt.
Di chuyển Sheet Mat_Truoc và Mat_Sau (Có thể kéo thả hoặc dùng code tùy) nằm cạnh nhau, chọn 2 sheet và in cùng lúc (Có thể dùng tay hoặc code tùy).
 
Được.

Di chuyển Sheet Mat_Truoc và Mat_Sau (Có thể kéo thả hoặc dùng code tùy) nằm cạnh nhau, chọn 2 sheet và in cùng lúc (Có thể dùng tay hoặc code tùy).

"Di chuyển Sheet Mat_Truoc và Mat_Sau (Có thể kéo thả hoặc dùng code tùy) nằm cạnh nhau, chọn 2 sheet và in cùng lúc (Có thể dùng tay hoặc code tùy)." => em dùng tay, vì chưa biết viết code. Nhưng em làm tới đây rồi thì không biết làm sao để định dạng "in 1 lúc 2 mặt với mặt trước là sheet Mat_Truoc và mặt sau là sheet Mat_Sau tương ứng cho 50 cửa hàng là 50 trang A4 luôn. Nghĩa là định dạng cho trang 1 sheet Mat_Truoc nằm mặt trước, trang 1 sheet Mat_Sau nằm mặt sau trên cùng 1 tờ A4 đó anh.
Em print preview, chọn in 2 mặt thì thấy nó vẫn sổ xuống bình thường hết 50 trang của 50 cửa hàng ở sheet Mat_Truoc, xong tới 50 trang của 50 cửa hàng ở sheet Mat_Sau, nếu in 2 mặt sẽ không đúng yêu cầu.

ps: em nói lòng vòng quá, mong anh hiểu.
 
Lần chỉnh sửa cuối:
@giaiphap : em chưa giải quyết được vấn đề chính ạ.
Em google thêm vẫn không thấy có đề cập đến.
 
Tôi tính lương cho 50 cửa hàng.
Sau khi tính xong tôi được sheet Mat_Truoc: (phục vụ cho các phòng nghiệp vụ)
View attachment 237960

Tôi copy sheet Mat_Truoc ra thành sheet Mat_Sau có sự thay đổi nhỏ xíu: (phục vụ cho Công đoàn)
+ Thay đổi tiêu đề (đã set Repeat cho 50 cửa hàng)
+ Hide cột Ký nhận cuối cùng và unhide 2 cột "Thu 1% CĐP", "Số tiền còn lại thực nhận".
(chỗ này tôi hỏi ngoài lề câu hỏi chính 1 xíu: công đoạn này- từ copy sheet, paste sheet, rename sheet, đến rename tiêu đề, align tiêu đề, hide cột, unhide 2 cột- tôi gom gọn lại trong 1 nút bấm được không? Vì cuối tháng nào tôi cũng phải làm như thế)
View attachment 237961

Vấn đề: tôi in 1 mặt sheet Mat_Truoc (50 tờ A4), xong tôi lại đưa 50 tờ A4 này vào lại máy in để tiếp tục in 1 mặt sheet Mat_Sau. Công đoạn này dễ trục trặc nếu vì 1 lý do nào đó in xen vào giữa thì sẽ bị lộn thứ tự cửa hàng của tôi hết, nghĩa là mặt trước mặt sau không khớp tên Cửa hàng, tôi bị 3 lần rồi và phải in lại rất mắc công, lãng phí giấy và mất thời gian. Lúc đang gấp mà phải in đi in lại nhiều khi tôi muốn bốc hỏa. :D

* Câu hỏi nhờ mọi người giúp:
Có cách nào với 1 lệnh in để có thể in 1 lúc 2 mặt với mặt trước là sheet Mat_Truoc và mặt sau là sheet Mat_Sau tương ứng cho 50 cửa hàng là 50 trang A4 luôn không? Ghi chú: Máy in có thể in 2 mặt.
File đính kèm là file làm việc thực tế.

Cảm ơn mọi người trước. :)
Bạn nghiên cứu File dưới:
- Đặt các cột mặt trước và mặt sau cạnh nhau
- Trong File: mặt trước từ cột A đến cột R; Mặt sau từ cột X đến cột AT
- Ngắt trang theo chiều dọc và chiều ngang cho hợp lý; Ngắt trang chiều đứng tại cột X (Cột bắt đầu của mặt sau)
- Page Layout/Page Setup/Sheet/Over, then down => In qua trái rồi xuống dưới
- Chọn lệnh in như bình thường, chọn chế độ in hai mặt nhé.
Trường hợp in 1 mặt thì vẫn được 2 trang cần in xếp cạnh nhau
 

File đính kèm

  • GPE-Tini01 Z.xlsx
    1.1 MB · Đọc: 7
Bạn nghiên cứu File dưới:
- Đặt các cột mặt trước và mặt sau cạnh nhau
- Trong File: mặt trước từ cột A đến cột R; Mặt sau từ cột X đến cột AT
- Ngắt trang theo chiều dọc và chiều ngang cho hợp lý; Ngắt trang chiều đứng tại cột X (Cột bắt đầu của mặt sau)
- Page Layout/Page Setup/Sheet/Over, then down => In qua trái rồi xuống dưới
- Chọn lệnh in như bình thường, chọn chế độ in hai mặt nhé.
Trường hợp in 1 mặt thì vẫn được 2 trang cần in xếp cạnh nhau
Mình hiểu ý tưởng của bạn rồi. Quá hay luôn. Vì trước giờ mình không biết chức năng này của Excel:
- Page Layout/Page Setup/Sheet/Over, then down => In qua trái rồi xuống dưới

Có điều dữ liệu tính toán sau khi cóp từ sheet Mat_Sau vào chung sheet Mat_Truoc nó bị lỗi nhiều quá. Paste thường thì nó giữ định dạng y chang nhưng số liệu sai (vì công thức sai), còn paste giá trị thì định dạng bảng, font các kiểu nó sai. Có cách nào Paste Special vừa value mà vừa formattings mà không chứa formulars không bạn?
Với cho mình hỏi cách để hiện chữ Page 2 mờ mờ với:
1590394112487.png
 
@giaiphap : em chưa giải quyết được vấn đề chính ạ.
Em google thêm vẫn không thấy có đề cập đến.
Hiện tại tôi không ngồi máy nên không xem được file bạn. Thế này bạn up cái file nguyên bản gồm 60 cửa hàng gì đó và 1 file bạn đã làm mặt sau lên đây. Tối về rảnh tôi code cho, theo bạn mô tả thì tất cả chỉ code và click chuột thôi.
 
Hiện tại tôi không ngồi máy nên không xem được file bạn. Thế này bạn up cái file nguyên bản gồm 60 cửa hàng gì đó và 1 file bạn đã làm mặt sau lên đây. Tối về rảnh tôi code cho, theo bạn mô tả thì tất cả chỉ code và click chuột thôi.
Dạ, file đính kèm ở bài #1 là em đã tính toán và thiết kế xong xuôi mặt trước, mặt sau hết rồi ạ. Giờ chỉ in thôi.
Em đính kèm lại ở bài này luôn.
 

File đính kèm

  • GPE-Tini01.xlsx
    820 KB · Đọc: 5
Mình hiểu ý tưởng của bạn rồi. Quá hay luôn. Vì trước giờ mình không biết chức năng này của Excel:
- Page Layout/Page Setup/Sheet/Over, then down => In qua trái rồi xuống dưới

Có điều dữ liệu tính toán sau khi cóp từ sheet Mat_Sau vào chung sheet Mat_Truoc nó bị lỗi nhiều quá. Paste thường thì nó giữ định dạng y chang nhưng số liệu sai (vì công thức sai), còn paste giá trị thì định dạng bảng, font các kiểu nó sai. Có cách nào Paste Special vừa value mà vừa formattings mà không chứa formulars không bạn?
Với cho mình hỏi cách để hiện chữ Page 2 mờ mờ với:
View attachment 237992
Mình không để ý đến công thức ở trang sau;
Theo mình bạn copy dữ liệu ở trang trước đặt sang bên cạnh và sửa lại cái thay đổi nhỏ mà bạn miêu tả sẽ không bị lỗi; Không nên Copy giá trị sẽ kó kiểm soát và dữ liệu sẽ không cập nhật ở trang sau khi thay đổi.
Page: View/page Break Preview
 
Lần chỉnh sửa cuối:
Cách của bạn thì theo File dưới
- Copy trang sau: Đặt vào trang trước nhớ đặt ngoài vùng tính toán của trang trước,
- paste/value trước/Paste định dạng sau
 

File đính kèm

  • GPE-Tini01.xlsx
    1.1 MB · Đọc: 6
Lần chỉnh sửa cuối:

File đính kèm

  • GPE-Tini01.xlsm
    465.1 KB · Đọc: 4
Bạn nhấn Ctrl + q để xem kết quả nhé.
Bị nhiều lỗi Ref quá anh. Do mỗi sheet em đều có vùng công thức (cột phụ) nằm bên cạnh vùng in đó anh. Ví như sheet Mat_Truoc in đến cột R thôi nhưng vùng công thức (cột phụ) nó đến cột AD, AE lận anh.
Em down file anh làm, vào VBA thì thấy đoạn này:
Mã:
If WorksheetExists("SheetPrint") Then ThisWorkbook.Sheets("SheetPrint").Delete
    ThisWorkbook.Sheets("Mat_Truoc").Copy After:=Sheets(ThisWorkbook.Worksheets.Count)
    Set Sh = ThisWorkbook.Sheets(ThisWorkbook.Worksheets.Count)
    With Sh
        .Name = "SheetPrint"
        .Columns("X:AQ").EntireColumn.Delete
        .Range("A1:W1863").Copy .Range("X1")
        .Columns("A:W").Copy
        .Range("X1").PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
        .Columns("AL:AM").EntireColumn.Hidden = True
        .Columns("AO:AR").EntireColumn.Hidden = True
        .PageSetup.Order = xlOverThenDown
    End With
Em chưa biết viết cũng như nhiều hàm với thuật ngữ VBA. Em xem tiếng Anh để hiểu sơ nghĩa mấy đoạn code của anh. Em thấy anh xóa từ cột X đến cột AQ á. Là nó bị mất công thức tính lương của em nên bị Ref hàng loạt.
Bài đã được tự động gộp:

Cách của bạn thì theo File dưới
- Copy trang sau: Đặt vào trang trước nhớ đặt ngoài vùng tính toán của trang trước,
- paste/value trước/Paste định dạng sau
Làm thủ công vầy chắc ngon nè. File bạn làm là cũng ngon rồi, chỉ việc canh lề, ngắt trang chuẩn trước khi in nữa là ok. Để mình thử. Cảm ơn bạn nhiều.
Anh @giaiphap còn viết để tự động hóa việc này luôn. Chắc còn khá lâu mình mới viết được vậy. Mình đang tập tành VBA. :D
 
Lần chỉnh sửa cuối:
Bị nhiều lỗi Ref quá anh. Do mỗi sheet em đều có vùng công thức (cột phụ) nằm bên cạnh vùng in đó anh. Ví như sheet Mat_Truoc in đến cột R thôi nhưng vùng công thức (cột phụ) nó đến cột AD, AE lận anh.
Phía dưới lệnh.
Mã:
.Name = "SheetPrint"
Thêm vào dòng này.
Mã:
.Range("A1:W1863").Value = .Range("A1:W1863").Value
 
Phía dưới lệnh.
Mã:
.Name = "SheetPrint"
Thêm vào dòng này.
Mã:
.Range("A1:W1863").Value = .Range("A1:W1863").Value
@giaiphap : Em cảm ơn anh nhiều. Nó như 1 phép màu vậy. Tương lai em sẽ tự làm được giống anh. Đoạn code của anh em không biết học bao lâu để viết được như vậy. Nhưng đoạn code ngắn ngủi sẽ giúp em tiết kiệm bao nhiêu thời gian, tránh nhiều sai sót và nhiều bất tiện. Hic, mắc nợ ân tình anh rồi.

@KhanhChi29 : mình cũng cảm ơn bạn nhiều. À, bạn thử xem cái file mình đính kèm không? Mình sửa code giống như anh @giaiphap chỉ rồi. Bạn Ctrl + Q là ra kết quả liền á. :D
 

File đính kèm

  • GPE-Tini01-giaiphap.xlsm
    917.4 KB · Đọc: 8
@giaiphap : Em cảm ơn anh nhiều. Nó như 1 phép màu vậy. Tương lai em sẽ tự làm được giống anh. Đoạn code của anh em không biết học bao lâu để viết được như vậy. Nhưng đoạn code ngắn ngủi sẽ giúp em tiết kiệm bao nhiêu thời gian, tránh nhiều sai sót và nhiều bất tiện. Hic, mắc nợ ân tình anh rồi.

@KhanhChi29 : mình cũng cảm ơn bạn nhiều. À, bạn thử xem cái file mình đính kèm không? Mình sửa code giống như anh @giaiphap chỉ rồi. Bạn Ctrl + Q là ra kết quả liền á. :D
Hiểu được cách làm thủ công sẽ hiểu được Code;
Theo mình bạn tổ chức dữ liệu tốt hơn sẽ có nhiều cách làm hay hơn,
 
Web KT
Back
Top Bottom