VBA lưu file, in, và mở lại file gốc ban đầu

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

Emyeuexcel

Thành viên thường trực
Tham gia
9/6/16
Bài viết
269
Được thích
26
Chào các anh chị,

VBA mình mới mò mẫm đang học.
Mình có file đính kèm, có code VBA (mình cóp nhặt lồng ghép code trên mạng). Chân thành cảm ơn các tác giả những code này!
Giờ mình muốn in hàng loạt theo số thứ tự bên sheet Lot, nhưng code này không thực hiện được, chỉ in đúng 1 số nào nhập đầu tiên (vd: 2-5, thì chỉ in số 2)
Nếu mình chịu khó in từng số thì vẫn được. Hiện code này sau khi lưu ra file mới theo ý mình và in xong cho 1 số thứ tự thì ok.
Tuy nhiên nó không mở lại được file gốc ban đầu để in tiếp.
Mong các anh chị vui lòng giúp mình sửa code sao cho nó mở lại file gốc. Và nếu tuyệt vời hơn thì sửa code lưu file, in hàng loạt theo những số thự tự đã nhập vào.
Xin chân thành cảm ơn các anh chị!
 

File đính kèm

  • EPR Tempalte.xlsm
    106.6 KB · Đọc: 11
Cột J sheet In có công thức lấy dữ liệu từ 1 file data khác:
IFERROR(XLOOKUP($A7&"-"&$D$3,'[2023_TRACKTO FOOD IMPORT__UPDATE.xlsx]FRESH FRUITS'!$BJ:$BJ,'[2023_TRACKTO FOOD IMPORT__UPDATE.xlsx]FRESH FRUITS'!$AE:$AE),0)
View attachment 300719
Nó tham chiếu theo ô D3 và cột A.
mà D3 sheet In thì phụ thuộc vào H1 sheet In, H1 chính là số thứ tự bên sheet Lot.
Khi H1 thay đổi thì D3 thay đổi, mà D3 thay đổi thì các dòng khác 0 cột J bên dưới thay đổi theo (tức sản phẩm khác theo lô hàng tương ứng)
Cái data có chữ TRACKTO hơi lớn, không biết sao gởi cho bạn xem.
Bạn thử kiểm tra lại, để có thể chọn các dòng rời rạc thì nhớ giữ phím Ctrl khi chọn các dòng cần lấy tại cột A.
 

File đính kèm

  • EPR Tempalte_2.xlsm
    110.5 KB · Đọc: 6
Upvote 0
Bạn thử kiểm tra lại, để có thể chọn các dòng rời rạc thì nhớ giữ phím Ctrl khi chọn các dòng cần lấy tại cột A.
Bạn Tuấn ơi, cho mình hỏi, vì sao mình so sánh với File Template 2 bạn gởi lần đầu thì thấy code không khác gì mà sao lúc đầu chạy chưa đúng, còn lần sau thì chạy OK nhỉ?
 
Upvote 0
Bạn Tuấn ơi, cho mình hỏi, vì sao mình so sánh với File Template 2 bạn gởi lần đầu thì thấy code không khác gì mà sao lúc đầu chạy chưa đúng, còn lần sau thì chạy OK nhỉ?
Vì file đầu không biết vì lý do gì mà cột J lại mất hết công thức, sau đó mình tải lại file có công thức ở cột J rồi đưa code vào là xong.
 
Upvote 0
À thì ra do cột J chứ không phải do code.
Như vậy là khi tải file về bạn không kiểm tra lại gì cả mà cứ thế chạy luôn, khi thấy sai kết quả mong muốn cũng không kiểm tra lại mà cứ hô lên là sai thôi. Lần sau thì đầu tiên bạn nên kiểm tra file gốc xem có bị thay đổi gì không đã, sau đó mới đến các thứ khác. Làm công việc phải dùng Excel và vào diễn đàn từ 2016 rồi mà vẫn vậy thì hơi bị chán.
 
Upvote 0
Như vậy là khi tải file về bạn không kiểm tra lại gì cả mà cứ thế chạy luôn, khi thấy sai kết quả mong muốn cũng không kiểm tra lại mà cứ hô lên là sai thôi. Lần sau thì đầu tiên bạn nên kiểm tra file gốc xem có bị thay đổi gì không đã, sau đó mới đến các thứ khác. Làm công việc phải dùng Excel và vào diễn đàn từ 2016 rồi mà vẫn vậy thì hơi bị chán.
Cảm ơn bạn góp ý! Mình cứ đinh ninh là file gốc không bị đổi. Mình sẽ chú ý!

Cho mình hỏi thêm chút, nếu muốn các file save as ra value giá trị (không còn công thức) thì mình thêm câu lệnh như thế nào nhỉ?
 
Upvote 0
Cảm ơn bạn góp ý! Mình cứ đinh ninh là file gốc không bị đổi. Mình sẽ chú ý!

Cho mình hỏi thêm chút, nếu muốn các file save as ra value giá trị (không còn công thức) thì mình thêm câu lệnh như thế nào nhỉ?
Cái này trên diễn đàn có nhiều mà, hoặc tìm kiếm trên Google thì bạt ngàn, tự tìm kiếm và thử đi thử lại sẽ nhớ lâu hơn là người khác viết hộ từ A đến Z.
 
Upvote 0
Cái này trên diễn đàn có nhiều mà, hoặc tìm kiếm trên Google thì bạt ngàn, tự tìm kiếm và thử đi thử lại sẽ nhớ lâu hơn là người khác viết hộ từ A đến Z.
Mình làm được rồi.
Trước close, mình thêm sn.UsedRange.Value=sn.UsedRange.Value
Cảm ơn bạn giúp mình nhiều lắm!
 
Upvote 0
Web KT
Back
Top Bottom