Chia sẻ tiện ích "In hàng loạt với dữ liệu có sẵn" trên Excel (1 người xem)

  • Thread starter Thread starter dhn46
  • Ngày gửi Ngày gửi
Liên hệ QC

Người dùng đang xem chủ đề này

dhn46

Hướng tới tương lai
Tham gia
1/3/11
Bài viết
3,251
Được thích
3,870
Qua quá trình làm việc dhn46 nhận thấy nhu cầu in với số lượng lớn Form mẫu với Data có sẵn là rất nhiều, ví dụ như: Hợp đồng, tờ khai bảo hiểm, phiếu xuất nhập, nhãn mác thùng hàng, thẻ nhân viên...
Các biểu mẫu này có đặc điểm chung là: in trên Form sẵn có với dữ liệu lần lượt lấy từ nguồn tương tự Mail Merg, hoặc in các biểu mẫu có thêm hình ảnh. Việc tiếp cận và tạo các biểu mẫu này với các bạn không biết lập trình là 1 điều khó khăn, do đó dhn46 có viết 1 tiện ích nhỏ để hỗ trợ cho những bạn cần mà chưa có giải pháp.
* Tính năng:
- Tự động in các biểu mẫu với số liệu nhảy tuần tự theo bảng dữ liệu gốc
- Tự động chèn ảnh vào Form mẫu
- Tạo các biểu mẫu tùy ý, linh động trong việc chèn dữ liệu vào Form
* Hướng dẫn sử dụng:
Có 2 phiên bản in hàng loạt
- Loại 1: In Form không lặp lại - dùng để in 1 Form duy nhất trên 1 trang, chỉ nhảy dữ liệu và hình ảnh, ví dụ như hợp đồng, BHXH, phiếu xuất nhập...
- Loại 2: In Form lặp lại – dùng để in mà Form tự nhân bản trên trang in với số cột tùy chọn, dùng để in các Form mẫu kích cỡ nhỏ như thẻ nhân viên, nhãn thùng hàng...
Để sử dụng 2 loại các bạn cần thực hiện các bước sau:
*Chung:
- Cả 2 File đều có: Sheet Khai báo và Sheet Data.
- Các bạn khai báo đầy đủ các trường trong sheet Khai báo tương ứng với sheet Data
+ Sheet Name: tên sheet chứa Form mẫu (ở ví dụ là: Form – ô C1)
+ Nội dung: Các trường cần chèn vào Form mẫu
+ Cột Sheet Data: Cột dữ liệu tương ứng với Nội dung tại Sheet Data. (Ví dụ: A, B, ..
+ Cột Vị trí hiển thị: Vị trí đặt dữ liệu tại Sheet Form (Các vị trí này sẽ nhảy tuần tự dữ liệu theo mỗi bản in)
+ Link ảnh: Copy đường dẫn thư mục chứa ảnh vào ô F1, hoặc nhấn nút lệnh để tìm đường dẫn
+ Khung ảnh: Tên các trường ảnh muốn chèn
+ Tên khung ảnh: Đây là tên của Shape các bạn vẽ trên Sheet Form. Các hình ảnh sẽ được Fill trong shape nên cần phải vẽ shape khi muốn chèn trên Form. Nếu không cần hình ảnh nhảy trên Form thì các bạn không khai báo trường này, để trống.
+ Cột tên ảnh: Là cột chứa tên ảnh không bao gồm phần mở rộng
Ở đây dhn46 lấy tên ảnh theo cấu trúc [tên ảnh = tên ảnh trong cột tên ảnh]
Theo ví dụ trong File thì tên ảnh lấy theo Code. bạn có Code VN0001 thì sẽ phải có ảnh VN0001.jpg hoặc VN0001.bmp.
*Riêng:
- Đối với bản in hàng loạt có lặp lại: thì các bạn cần thiết kế Form mẫu, khai báo vùng chứa Form mẫu và số cột Form trong trang in.
*--------------------------------------
Khi hoàn thành bước khai báo có thể tiến hành in.
Các bạn xem Video để tham khảo cách sử dụng

[video=youtube;4V8qhBhw4yo]http://www.youtube.com/watch?v=4V8qhBhw4yo&feature=youtu.be[/video]

(Do dhn46 mới "tập tành" viết Code nên Code còn lủng củng và sẽ có nhiều hạn chế, mong các bạn sử dụng, góp ý để hoàn thiện hơn sản phẩm.)

Trân trọng!
*----------------------------------
Update: 14/08/2014 - gói gọn các cải tiến trong 1 phiên bản
- Cho phép thêm dữ liệu trên Textbox
- In thẻ trên sheet KQ bắt đầu tại dòng 10 để 9 dòng trước có thể điền tiêu đề.
- Chọn in thẻ theo số thứ tự qua Form.
- In, xem khi Filter
*-----------------------------------
Update: 14/08/2014
- Sửa in hàng loạt không lặp lại - Sửa lỗi code giớ hạn 18 field
 

File đính kèm

Lần chỉnh sửa cuối:
http://www.giaiphapexcel.com/forum/showthread.php?78844-Nhờ-mọi-người-giúp-em-tạo-cho-form-này
Em đã hiểu và làm được rồi thật là tuyệt vời và hoàn hảo, Em rất hài lòng với form này
Nếu in 10 code thì có thể lưu lại là 10 code này đã in rồi không ạ
em cám ơn
- Các bạn sử dụng và góp ý.
- Chú ý: với phương thức in chon lọc thì giữ phím Ctrl để chon các điều kiện riêng rẽ
- Form mẫu trong File chỉ là ví dụ, các bạn có thể tạo Form và Data mới hoàn toàn theo ý mình.
Thân!
 
Upvote 0
Có ai vui lòng và tốt bụng xin chuyển bài #1 và #4 sang excell 2003
Xin cám ơn rất nhiều
 
Upvote 0
Có ai vui lòng và tốt bụng xin chuyển bài #1 và #4 sang excell 2003
Xin cám ơn rất nhiều
Các ví dụ đều được viết trên Excel 2003. Tôi nén dạng .zip, bạn có thể Down và mở trực tiếp không cần phần mềm hỗ trợ.
Cảm ơn bạn đã quan tâm!
 
Upvote 0
http://www.giaiphapexcel.com/forum/showthread.php?78844-Nhờ-mọi-người-giúp-em-tạo-cho-form-này
- Các bạn sử dụng và góp ý.
- Chú ý: với phương thức in chon lọc thì giữ phím Ctrl để chon các điều kiện riêng rẽ
- Form mẫu trong File chỉ là ví dụ, các bạn có thể tạo Form và Data mới hoàn toàn theo ý mình.
Thân!
em muốn hỏi sau khi tạo data, form và khai báo mới thì làm sao để ra kết quả ạ?
 
Upvote 0
Cho tôi hỏi hình thẻ nhân viên phải lưu ra sao để link vào được file. nếu làm file có khoảng 1000 hình thẻ thì có bị mất dữ liệu không ạ?
 
Upvote 0
Tôi đã sử dụng file in hàng loạt thẻ nhân viên của bạn nhưng chưa biết cách chèn ảnh tự động từ foder có sẵn vào sheet kết quả. Vui lòng hướng dẫn giúp tôi.
Xin cảm ơn!
 
Upvote 0
Cho tôi hỏi hình thẻ nhân viên phải lưu ra sao để link vào được file. nếu làm file có khoảng 1000 hình thẻ thì có bị mất dữ liệu không ạ?

Tôi đã sử dụng file in hàng loạt thẻ nhân viên của bạn nhưng chưa biết cách chèn ảnh tự động từ foder có sẵn vào sheet kết quả. Vui lòng hướng dẫn giúp tôi.
Xin cảm ơn!

- Như dhn46 đã hướng dẫn trong File .doc và Video để chèn được hình vào Form thì bạn cần làm các bước sau

1/ Đặt tên ảnh trùng với Code: ví dụ nhân viên có mã số VN001 thì ảnh phải có tên VN001.jpg

2/ Vẽ một hình vuông trong Sheet Form và đặt tên cho hình vuông đó (bạn xem Video để biết cách đặt tên)

3/ Khai báo thông tin: + Cột mã số
+ Link Folder ảnh

Cũng khá đơn giản khi làm các thủ tục này.

- Khi các bạn thực hiện in thẻ thì không mất thông tin gì cả.
- Form này mình đã ứng dụng tại công ty của mình, với thẻ thao tác của khoảng trên 2000 người, các biểu mẫu, in nhãn hàng, in giấy mời, in tờ khai bảo hiểm, in hợp đồng lao động... (nhân sự công ty khoảng 6000 người)

Mong các bạn có thể ứng dụng vào công việc của mình.
Thân!
 
Upvote 0
Cảm ơn bạn tôi đã làm được theo cách của bạn vậy cho tôi hỏi nếu hình thẻ được scan vào thì làm cách nào để link hình vào được ạ? Vì công ty thường lấy hình thẻ của NV rồi scan cắt dán để làm thẻ không phải hình chụp nên không có đuôi .jpg.
 
Lần chỉnh sửa cuối:
Upvote 0
Cảm ơn bạn tôi đã làm được theo cách của bạn vậy cho tôi hỏi nếu hình thẻ được scan vào thì làm cách nào để link hình vào được ạ? Vì công ty thường lấy hình thẻ của NV rồi scan cắt dán để làm thẻ không phải hình chụp nên không có đuôi .jpg.
Chào bạn,

Các dạng lưu trữ hình ảnh chuẩn không nên Scan nhúng vào các file khác như (PDF, ...). Vì thế bạn cần xử lý hình ảnh trước khi sử dụng. Tôi nghĩ phần mềm nào cũng vậy phải có địa chỉ rõ ràng thì mới Add, hay chèn vào được

Để xử lý hình ảnh có nhiều phương pháp, bạn có thể tìm trên GPE hoặc trên Internet để xử lý.

Chúc bạn thành công
 
Upvote 0
Ở file Form 2 của anh rất hay, rất đáng học hỏi. Nhưng để chỉnh sửa lại áp dụng thì xin anh chỉ cho em, và em có vài câu hỏi và vài điều thắc mắc, nếu có gì sai mong anh , các bạn bỏ qua cho em:

- Sheet Khai bao:
1. Tại cột A có dòng là "x" có dòng là "1" có nghĩa là gì.
2. Cột F khung ảnh là sao, có phải là size cua file hình đó ( VD: 13 x 18 .v.v...)
3. Cột tên ảnh là sao?
Tại F1: em có thể hiểu là nơi chứ file hình, nhưng khi em sửa lại đừng dẫn của file hình lại , hoặc em tao 1 thư mục ở ổ D nhưng vẫn không tìm thấy hình ảnh. CÓ thể là do em không biết cách . Mong anh tận tình chỉ giúp em.

Tại sheet Data, sheet KQ và 2 nút in. Chỗ này em đã có tìm hiểu mà không ra rất mong anh tận tình bỏ chút thời gian giải thích dùm em, em đã cố gắn đọc , tra cứu tìm hiểu nhiều đủ kiểm mà không thể nào hiểu cách anh viết.
Nếu anh có thời gian xin anh chỉ dùm em ở chổ VBA anh viết thì mỗi dùng có tác dụng gì cho cái gì được không anh, Em biết là em đòi hỏi hơi quá đáng, nhưng em đã bỏ ra cũng 10 ngày để dịch cách thức làm của anh mà không sao hiểu nổi VBA anh viết những gì.
Xin mọi người đừng ném đá em.
Cám ơn anh nhiều.
 
Upvote 0
Em đã áp dụng File của anh vào công việc xuất phiếu thu chi của em, nhưng không được, kết xuất data vẫn ra nhưng tại sheet KQ không ra như mong muốn.
VD: Số phiếu chi số 1 ,3,4,5 .v.v... in ra nó nhảy sang trang khác , nếu in trang 1,2 thì được nhưng từ số phiếu chi 3,4 trở đi thì bị khi in bị nhảy trang ( tức là 3 1 nữa trang và 4 thì bên thành 2 trang. Em nghĩ là chắc có sửa chữa gì trong VBA, mong anh chỉ thêm.
Nếu dùng lệnh in tùy chon thì được nhưng in theo STT thì máy báo lỗi ngay.
Nên mong anh hướng dẫn và giải thích từng dòng của VBA mà anh viết để em có thể áp dụng vào công việc của em tốt hơn. và tùy biến trong những phần hành khác.
Cám ơn anh nhiều
 
Upvote 0
Chào bạn truckhoa2006

Mình trả lời 3 vấn đề bạn hỏi:

1/ Dấu "x" tại Cột A là để đánh dấu cột có dữ liệu, nhưng có lẽ cái này sẽ cần phải cải tiến thêm, bạn áp dụng vào công việc của mình thì không cần quan tâm tới cột đó, nếu tìm hiểu Code thì bạn có thể xem thêm trong nguồn.

2/ Vấn đề nhảy trang: Nguyên lý của việc in đó là Form như nào thì kết quả như thế vậy do đó sự định dạng trong tất cả các phiếu đều đồng nhất. Vậy bạn hãy căn chỉnh lề trong Print Preview để có kết quả chuẩn.
Kinh nghiệm của mình dùng Form cho thấy khi chỉnh chuẩn 1 trang đầu vừa khít Margin thì các trang còn lại sẽ không bị tràn lề.

3/ In theo số thứ tự đó là bạn sẽ in số thứ tự từ x => y. ô ghi số thứ tự là cố định trên Sheet. do đó nếu bạn chèn cột ô thứ tự bị đổi sẽ gây lỗi. (đây cũng là vấn đề phát sinh và có thể sẽ là điểm chú ý cho việc Update Form lần tới)

Chúc bạn ứng dụng được Form vào công việc của mình và hiểu Code trong File.

Thân!
 
Upvote 0
Em có làm thử 1 file tiền lương và kết hợp với file của anh cho nhưng khi in nó báo lỗi, gì đó mà em không hiểu. Mặc dùng đã giữ nguyên bản của anh và thay bằng nội dung của em.
Vậy nên em gửi file lên nhờ anh chỉ giúp em lại, vì do bảng lương này em thiết kế đến 15 sheet quá nặng, nên em chỉ kết xuất 2 sheet tượng trưng và cũng là 2 sheet cần xuất ra tường phiếu lương cho từng người, mà file của anh có phải mỗi lần chỉ được 1 sheet ; Vì trong trường hợp này file của em có 2 sheet cần in , mà anh chỉ có 1 bảng khai báo nên em gửi anh chỉ giúp em ; 2 sheet gồm : LUONGQCKY.2 (Lương quy chế kỳ 2) và LUONGHDKY.2 ( Lương hợp đồng kỳ 2).
Xin anh và mọi người biết xin chỉ giúp em.
Cám ơn mọi người.
 

File đính kèm

Upvote 0
Em có làm thử 1 file tiền lương và kết hợp với file của anh cho nhưng khi in nó báo lỗi, gì đó mà em không hiểu. Mặc dùng đã giữ nguyên bản của anh và thay bằng nội dung của em.
Vậy nên em gửi file lên nhờ anh chỉ giúp em lại, vì do bảng lương này em thiết kế đến 15 sheet quá nặng, nên em chỉ kết xuất 2 sheet tượng trưng và cũng là 2 sheet cần xuất ra tường phiếu lương cho từng người, mà file của anh có phải mỗi lần chỉ được 1 sheet ; Vì trong trường hợp này file của em có 2 sheet cần in , mà anh chỉ có 1 bảng khai báo nên em gửi anh chỉ giúp em ; 2 sheet gồm : LUONGQCKY.2 (Lương quy chế kỳ 2) và LUONGHDKY.2 ( Lương hợp đồng kỳ 2).
Xin anh và mọi người biết xin chỉ giúp em.
Cám ơn mọi người.

File gốc có chứa Macro, bạn copy các sheet từ file gốc sang file của bạn dẫn đến lỗi.
Bạn hãy coppy từ file của bạn sang file gốc nhé.
Mình làm thử cho bạn xem. Mong sẽ giúp bạn bớt thời gian trong công việc
 

File đính kèm

Upvote 0
File gốc có chứa Macro, bạn copy các sheet từ file gốc sang file của bạn dẫn đến lỗi.
Bạn hãy coppy từ file của bạn sang file gốc nhé.
Mình làm thử cho bạn xem. Mong sẽ giúp bạn bớt thời gian trong công việc

Cám ơn bạn nhiều nhiều, để mình thử xem sao. ( Uh, mà sao mình không copy sheet mình qua sheet gốc nhỉ, , làm nhiều quá hóa rồ rùi hihi)
Cám ơn bạn nha.
 
Upvote 0
Theo cách anh chỉ em đã chuyển tất cả dữ liệu của em vào file gốc của anh, rất thành công rất OK. Cám ơn anh nhiều nhiều.
Nhưng có một vấn đề là Lương cho nhân viên ở công ty em phân làm 2 mảng lương khoán việc và lương Hợp đồng chính thức. Và 2 loại lương trên có 2 sheet khác nhau, do đó cần in 2 loại phiếu lương có nội dung khác nhau. Theo như bài #17 mà em gửi thì có 2 sheet khác nhau .
Vậy em xin anh ý kiến cho việc in sao cho có hiệu quả. Rất rất cám ơn anh.
 
Upvote 0
Theo cách anh chỉ em đã chuyển tất cả dữ liệu của em vào file gốc của anh, rất thành công rất OK. Cám ơn anh nhiều nhiều.
Nhưng có một vấn đề là Lương cho nhân viên ở công ty em phân làm 2 mảng lương khoán việc và lương Hợp đồng chính thức. Và 2 loại lương trên có 2 sheet khác nhau, do đó cần in 2 loại phiếu lương có nội dung khác nhau. Theo như bài #17 mà em gửi thì có 2 sheet khác nhau .
Vậy em xin anh ý kiến cho việc in sao cho có hiệu quả. Rất rất cám ơn anh.
Chào bạn,

Khi viết chương trình mình chỉ tạo chức năng thực hiện trên 1 sheet DATA. Với dữ liệu của bạn có tới 2 bảng lương do đó không thể chạy được chương trình.

Bạn có thể lập ra 2 file thay vì 2 sheet để chạy lương vì theo miêu tả mình thấy 2 sheet đó không liên quan, hoặc nếu cấu trúc có giống nhau thì bạn có thể gộp và 1 sheet và thêm cột nhận diện 2 loại lương. Việc trích lọc theo cột nhận diện đó cũng rất dễ dàng và bạn chỉnh lại phiếu lương sao cho có tính tổng quát nhất thì sẽ sử dụng được tiện ích

Chúc bạn thành công.
 
Upvote 0
Chào bạn,

Khi viết chương trình mình chỉ tạo chức năng thực hiện trên 1 sheet DATA. Với dữ liệu của bạn có tới 2 bảng lương do đó không thể chạy được chương trình.

Bạn có thể lập ra 2 file thay vì 2 sheet để chạy lương vì theo miêu tả mình thấy 2 sheet đó không liên quan, hoặc nếu cấu trúc có giống nhau thì bạn có thể gộp và 1 sheet và thêm cột nhận diện 2 loại lương. Việc trích lọc theo cột nhận diện đó cũng rất dễ dàng và bạn chỉnh lại phiếu lương sao cho có tính tổng quát nhất thì sẽ sử dụng được tiện ích

Chúc bạn thành công.

Rồi. em hiểu rồi, em biết là đòi hỏi hơi quá sức, nhưng cũng thử xem đó mà. Cám ơn anh rất nhiều, em sẽ tính cách khác xem. Nhưng không có cô kế toán nào chê cái file của anh hết, họ cực kỳ thích với file thiết kế của anh , anh là anh hùng của họ rùi đó, và là vị cứu tinh của em rùi. Việc còn lại em sẽ suy nghĩ tiếp.
Cám ơn anh nhiều nhiều.
 
Upvote 0
Rồi. em hiểu rồi, em biết là đòi hỏi hơi quá sức, nhưng cũng thử xem đó mà. Cám ơn anh rất nhiều, em sẽ tính cách khác xem. Nhưng không có cô kế toán nào chê cái file của anh hết, họ cực kỳ thích với file thiết kế của anh , anh là anh hùng của họ rùi đó, và là vị cứu tinh của em rùi. Việc còn lại em sẽ suy nghĩ tiếp.
Cám ơn anh nhiều nhiều.
Cảm ơn bạn nhiều ^^. Viết được một cái gì đó, chia sẻ và được mọi người ủng hộ là một niềm vui khó tả. Nay lại được lời động viên của các bạn cũng thêm động lực để mình cố gắng hơn.

Chúc mọi người sức khỏe, thành công!
 
Upvote 0
Qua quá trình làm việc dhn46 nhận thấy nhu cầu in với số lượng lớn Form mẫu với Data có sẵn là rất nhiều, ví dụ như: Hợp đồng, tờ khai bảo hiểm, phiếu xuất nhập, nhãn mác thùng hàng, thẻ nhân viên...
Các biểu mẫu này có đặc điểm chung là: in trên Form sẵn có với dữ liệu lần lượt lấy từ nguồn tương tự Mail Merg, hoặc in các biểu mẫu có thêm hình ảnh. Việc tiếp cận và tạo các biểu mẫu này với các bạn không biết lập trình là 1 điều khó khăn, do đó dhn46 có viết 1 tiện ích nhỏ để hỗ trợ cho những bạn cần mà chưa có giải pháp.
* Tính năng:
- Tự động in các biểu mẫu với số liệu nhảy tuần tự theo bảng dữ liệu gốc
- Tự động chèn ảnh vào Form mẫu
- Tạo các biểu mẫu tùy ý, linh động trong việc chèn dữ liệu vào Form
* Hướng dẫn sử dụng:
Có 2 phiên bản in hàng loạt
- Loại 1: In Form không lặp lại - dùng để in 1 Form duy nhất trên 1 trang, chỉ nhảy dữ liệu và hình ảnh, ví dụ như hợp đồng, BHXH, phiếu xuất nhập...
- Loại 2: In Form lặp lại – dùng để in mà Form tự nhân bản trên trang in với số cột tùy chọn, dùng để in các Form mẫu kích cỡ nhỏ như thẻ nhân viên, nhãn thùng hàng...
Để sử dụng 2 loại các bạn cần thực hiện các bước sau:
*Chung:
- Cả 2 File đều có: Sheet Khai báo và Sheet Data.
- Các bạn khai báo đầy đủ các trường trong sheet Khai báo tương ứng với sheet Data
+ Sheet Name: tên sheet chứa Form mẫu (ở ví dụ là: Form – ô C1)
+ Nội dung: Các trường cần chèn vào Form mẫu
+ Cột Sheet Data: Cột dữ liệu tương ứng với Nội dung tại Sheet Data. (Ví dụ: A, B, ..
+ Cột Vị trí hiển thị: Vị trí đặt dữ liệu tại Sheet Form (Các vị trí này sẽ nhảy tuần tự dữ liệu theo mỗi bản in)
+ Link ảnh: Copy đường dẫn thư mục chứa ảnh vào ô F1, hoặc nhấn nút lệnh để tìm đường dẫn
+ Khung ảnh: Tên các trường ảnh muốn chèn
+ Tên khung ảnh: Đây là tên của Shape các bạn vẽ trên Sheet Form. Các hình ảnh sẽ được Fill trong shape nên cần phải vẽ shape khi muốn chèn trên Form. Nếu không cần hình ảnh nhảy trên Form thì các bạn không khai báo trường này, để trống.
+ Cột tên ảnh: Là cột chứa tên ảnh không bao gồm phần mở rộng
Ở đây dhn46 lấy tên ảnh theo cấu trúc [tên ảnh = tên ảnh trong cột tên ảnh]
Theo ví dụ trong File thì tên ảnh lấy theo Code. bạn có Code VN0001 thì sẽ phải có ảnh VN0001.jpg hoặc VN0001.bmp.
*Riêng:
- Đối với bản in hàng loạt có lặp lại: thì các bạn cần thiết kế Form mẫu, khai báo vùng chứa Form mẫu và số cột Form trong trang in.
*--------------------------------------
Khi hoàn thành bước khai báo có thể tiến hành in.
Các bạn xem Video để tham khảo cách sử dụng

[video=youtube;4V8qhBhw4yo]http://www.youtube.com/watch?v=4V8qhBhw4yo&feature=youtu.be[/video]

(Do dhn46 mới "tập tành" viết Code nên Code còn lủng củng và sẽ có nhiều hạn chế, mong các bạn sử dụng, góp ý để hoàn thiện hơn sản phẩm.)

Trân trọng!
*----------------------------------
Update Form, fix một số lỗi.
*----------------------------------
Update Form sử dụng cho Win7 64 bit + Office 2010 64 bit, cải thiện tốc độ.
Chào thầy,
Cảm ơn thầy về bài viết rất hay.
Em muốn chèn thên hình nền của công ty thì phải làm thế nào ạ
 

File đính kèm

Upvote 0
Chào thầy,
Cảm ơn thầy về bài viết rất hay.
Em muốn chèn thên hình nền của công ty thì phải làm thế nào ạ
Chào bạn,

Để chèn hình vào Form làm thẻ thì bạn sử dụng Form in có lặp lại

- Nếu là Logo thì chèn ảnh bình thường
- Nếu bạn muốn chèn ảnh của từng nhân viên thì bạn làm theo các bước

+/1 Vẽ 1 hình vuông đặt tên là SHP
+2/ Khai báo SHP trong sheet khai bao
+3/ Đặt tên ảnh trùng với tên Code ví dụ nhân viên code 100017 thì ảnh phải là 100017.jpg

Các thao tác làm giống như Video bạn nhé. Hy vọng sẽ hữu ích cho công việc của bạn.
 
Upvote 0
Chào bạn,

Để chèn hình vào Form làm thẻ thì bạn sử dụng Form in có lặp lại

- Nếu là Logo thì chèn ảnh bình thường
- Nếu bạn muốn chèn ảnh của từng nhân viên thì bạn làm theo các bước

+/1 Vẽ 1 hình vuông đặt tên là SHP
+2/ Khai báo SHP trong sheet khai bao
+3/ Đặt tên ảnh trùng với tên Code ví dụ nhân viên code 100017 thì ảnh phải là 100017.jpg

Các thao tác làm giống như Video bạn nhé. Hy vọng sẽ hữu ích cho công việc của bạn.
Cảm ơn thầy đã trả lời,
Em muốn chèn hình (đính kèm) nhưng hình che mất chữ và các thông tin khác, không in được ạ.
 

File đính kèm

  • shp.jpg
    shp.jpg
    10.5 KB · Đọc: 224
Upvote 0
Cảm ơn thầy đã trả lời,
Em muốn chèn hình (đính kèm) nhưng hình che mất chữ và các thông tin khác, không in được ạ.
Chào bạn,

Việc chèn cả 1 khung vào thẻ là một điểm yếu của tiện ích song vẫn có thể thực hiện được, Bạn làm như sau

- Cắt Form của bạn thành 3 phần
+/ Phần 1: chỉ bao gồm chữ Framas@
+/ Phần 2: phần màu xanh phía dưới cùng
+/ Phần 3: phần màu xanh bên phải

Sau đó bạn ghép 3 phần đó vào khung Form. Mục đích cách làm này là chừa chỗ trống cho các cell chữa dữ liệu.

Mình nghĩ cách này chắc chắn sẽ giải quyết được yêu cầu của bạn.
 
Upvote 0
Chào bạn,

Việc chèn cả 1 khung vào thẻ là một điểm yếu của tiện ích song vẫn có thể thực hiện được, Bạn làm như sau

- Cắt Form của bạn thành 3 phần
+/ Phần 1: chỉ bao gồm chữ Framas@
+/ Phần 2: phần màu xanh phía dưới cùng
+/ Phần 3: phần màu xanh bên phải

Sau đó bạn ghép 3 phần đó vào khung Form. Mục đích cách làm này là chừa chỗ trống cho các cell chữa dữ liệu.

Mình nghĩ cách này chắc chắn sẽ giải quyết được yêu cầu của bạn.

Cắt như vậy nếu nhiều ô chữ chắc biến dạng hình trên Frame mất. Vấn đề này hoàn toàn có thể sử lý thoả đáng nếu ta kết hợp giữa Frame và Textbox. Ta đặt Frame làm nền và đặt các Textbox lên trên Frame (Các Textbox ta chọn không nền, không khung)
 
Upvote 0
Cắt như vậy nếu nhiều ô chữ chắc biến dạng hình trên Frame mất. Vấn đề này hoàn toàn có thể sử lý thoả đáng nếu ta kết hợp giữa Frame và Textbox. Ta đặt Frame làm nền và đặt các Textbox lên trên Frame (Các Textbox ta chọn không nền, không khung)
Cháu chào chú Sealand,

Với cách viết Code bài này sẽ không sử dụng trên text box được chú ạ. Và khi cắt ghép hình thì không ảnh hưởng tới kích thước hình ảnh đâu chú.
dhn46 post thử file thẻ áp dụng hình ảnh bài #26 chú và bạn xem nhé.
 

File đính kèm

Upvote 0
Không biết lý do gì mà dhn46 lại cho rằng với bài này không thể dùng Textbox được. Mặt khác, cách cắt hình như dhn46 chỉ may khi gặp hình nền màu trắng chứ hình có màu chắc các khu vực bị cắt sẽ tính sao đây.
 
Upvote 0
Không biết lý do gì mà dhn46 lại cho rằng với bài này không thể dùng Textbox được. Mặt khác, cách cắt hình như dhn46 chỉ may khi gặp hình nền màu trắng chứ hình có màu chắc các khu vực bị cắt sẽ tính sao đây.
Em đang bị trường hợp giống sealand đã nói trên khi in ra.
 
Upvote 0
Không biết lý do gì mà dhn46 lại cho rằng với bài này không thể dùng Textbox được. Mặt khác, cách cắt hình như dhn46 chỉ may khi gặp hình nền màu trắng chứ hình có màu chắc các khu vực bị cắt sẽ tính sao đây.
Dạ, với ứng dụng file tại bài #1 cháu cũng chưa có nghĩ ra được phương pháp dùng Text box để tùy biến, tất nhiên nếu viết riêng cho trường hợp sử dụng Textbox thì sẽ được.

Chú cho cháu gợi ý áp dụng bài #1 với việc sử dụng Textbox với.

Cảm ơn chú Sealand!
 
Upvote 0
Mình làm 1 file ví dụ, để đỡ phải gửi ảnh mình bỏ phần chèn ảnh nha.
Anh em tải file theo Link sau:

http://www.mediafire.com/download/qg6n9e776k9vyec/In_The2.rar

Thật chán quá, chả hiểu sao mình gửi kèm file mãi không được. Nản đành vòng qua Mediafire nhờ.
 
Lần chỉnh sửa cuối:
Upvote 0
Mình làm 1 file ví dụ, để đỡ phải gửi ảnh mình bỏ phần chèn ảnh nha.
Anh em tải file theo Link sau:

http://www.mediafire.com/download/qg6n9e776k9vyec/In_The2.rar

Thật chán quá, chả hiểu sao mình gửi kèm file mãi không được. Nản đành vòng qua Mediafire nhờ.
Code bài này chú viết riêng cho trường hợp Textbox, còn bài #1 cháu viết cho các trường hợp chung có thể tùy biến khá cao, người dùng có thể tự biến đổi cho form của mình mà không cần biết đến lập trình.

Cảm ơn chú!
 
Upvote 0
Code bài này chú viết riêng cho trường hợp Textbox, còn bài #1 cháu viết cho các trường hợp chung có thể tùy biến khá cao, người dùng có thể tự biến đổi cho form của mình mà không cần biết đến lập trình.

Cảm ơn chú!
Em cảm ơn dhn46sealand,
Em muốn kết hợp hai mẫu này có được không. Của sealand chèn được nền còn của dhn46 in đẹp và dễ dùng hơn.
 
Upvote 0
Em cảm ơn dhn46sealand,
Em muốn kết hợp hai mẫu này có được không. Của sealand chèn được nền còn của dhn46 in đẹp và dễ dùng hơn.
Đã cập nhật phiên bản In Form New 2 để các bạn có thể sử dụng TextBox điền số liệu

Với cách làm này bạn có thể sử dụng in thẻ như ý muốn và cách khai báo như khai báo khung ảnh, tức là bạn cần làm theo 3 bước:

-1/ Vẽ Text Box và đặt tên cho Text box (cách đặt tên như đặt tên khung ảnh)
-2/ Khai báo trong sheet Khai báo
-3/ Thực hiện in bình thường

Hy vọng ứng dụng sẽ hữu ích với bạn

Thân!
 
Upvote 0
Đã cập nhật phiên bản In Form New 2 để các bạn có thể sử dụng TextBox điền số liệu

Với cách làm này bạn có thể sử dụng in thẻ như ý muốn và cách khai báo như khai báo khung ảnh, tức là bạn cần làm theo 3 bước:

-1/ Vẽ Text Box và đặt tên cho Text box (cách đặt tên như đặt tên khung ảnh)
-2/ Khai báo trong sheet Khai báo
-3/ Thực hiện in bình thường

Hy vọng ứng dụng sẽ hữu ích với bạn

Thân!
Cảm ơn dhn46 nhiệt tình giúp đỡ
 
Upvote 0
Chào bạn,

Không có gì đâu bạn, cũng là điều nên làm bởi học từ GPE nên cũng muốn đóng góp cho cộng đồng dù không được nhiều.

Bạn Test và phản hồi nhé.
dhn46 thân,
Sau một hồi mày mò cũng ổn rồi. chỉnh sửa khung textbox, giờ mới hiểu 1 ít. Nhưng giờ muốn các thẻ khít với nhau, chứ không cần khoảng cách mả chưa mò ra.
Cảm ơn các tiền bối nhiều
 
Upvote 0
dhn46 thân,
Sau một hồi mày mò cũng ổn rồi. chỉnh sửa khung textbox, giờ mới hiểu 1 ít. Nhưng giờ muốn các thẻ khít với nhau, chứ không cần khoảng cách mả chưa mò ra.
Cảm ơn các tiền bối nhiều

Bạn muốn chỉnh khít các thẻ thì bạn PHẢI chỉnh trong mã nguồn.
Bạn mở cửa sổ VBA lên tìm tất cả các đoạn code sau trong MdlIn

Mã:
                Cells(lR * (iRf + 1) + 1, lC * jCf + CCard + 1).EntireRow.RowHeight = [COLOR=#ff0000][B]5[/B][/COLOR]



Mã:
            Cells(1, (i - 1) * jCf + i).EntireColumn.ColumnWidth = [COLOR=#ff0000][B]0.5[/B][/COLOR]

Bạn thay đoạn màu đỏ bằng 0.
 
Upvote 0
Bạn muốn chỉnh khít các thẻ thì bạn PHẢI chỉnh trong mã nguồn.
Bạn mở cửa sổ VBA lên tìm tất cả các đoạn code sau trong MdlIn

Mã:
                Cells(lR * (iRf + 1) + 1, lC * jCf + CCard + 1).EntireRow.RowHeight = [COLOR=#ff0000][B]5[/B][/COLOR]



Mã:
            Cells(1, (i - 1) * jCf + i).EntireColumn.ColumnWidth = [COLOR=#ff0000][B]0.5[/B][/COLOR]

Bạn thay đoạn màu đỏ bằng 0.
Cảm ơn thầy dhn46 nhiều,
Em làm được rồi nhưng khung hình bị sê dịch, và các thẻ vẫn không khít hoàn toàn.
 

File đính kèm

Upvote 0
Để cho các hình và đối tượng không bị thay đổi trong điều kiện trên trang kết quả có cả 1 thế giới đối tượng ta nên Group nó lại. Đồng thời, các hình ảnh cũng có kích thước không đều, vậy sau khi load ảnh ta cũng cần resize lại cho thống nhất
 
Lần chỉnh sửa cuối:
Upvote 0
Đúng như chú Sealand đã nói, để các đối tượng không bị lệch bạn cần phải Group chúng lại, và để khít nhau thì khung ảnh của bạn cần khéo léo đặt vừa khít vùng in hoặc là khung ảnh trùm 1 chút vùng in, nhìn ảnh của bạn có thể đoán do cạnh bên trái thẻ tại sheet Form không vừa cạnh cột vùng in.
 
Upvote 0
Đúng như chú Sealand đã nói, để các đối tượng không bị lệch bạn cần phải Group chúng lại, và để khít nhau thì khung ảnh của bạn cần khéo léo đặt vừa khít vùng in hoặc là khung ảnh trùm 1 chút vùng in, nhìn ảnh của bạn có thể đoán do cạnh bên trái thẻ tại sheet Form không vừa cạnh cột vùng in.
Em muốn bỏ luôn cột và hàng giữa các thẻ, khi nào cần thì bỏ vô liệu có được không thầy!
 
Upvote 0
Em muốn bỏ luôn cột và hàng giữa các thẻ, khi nào cần thì bỏ vô liệu có được không thầy!
Chào bạn,

Về nguyên tắc thì có, nhưng để chỉnh sửa cái này sẽ mất nhiều thời gian và thay đổi hầu hết Code. Cái ý nghĩa việc có 1 dòng trống này khi tôi viết cũng khá quan trọng bởi đó là đường cơ sở để cắt các tấm thẻ ra mà không sợ phạm vào các thẻ khác.

Nếu bạn vẫn muốn xóa thì thay vì việc thay đổi Code trong file gốc bạn hãy viết 1 Code để xóa các dòng, cột xen kẽ. Một đoạn Code VBA như vậy không khó hy vọng bạn sẽ có nhiều thời gian tìm hiểu VBA để viết các Code phụ trợ phục vụ công việc của bạn.
 
Upvote 0
Dear dhn46!

Bạn ơi, Khi chọn xem tùy chọn hoặc xem theo số thứ tự (đã chọn nhiều dữ liệu để xem rồi) thì:
1. làm sao để có thể quay về bảng tính ngay mà không phải click "Close Print Preview" nhiều lần (đủ số lượng đã chọn).
2. làm sao để chuyển nhanh đến trang của người thứ "n" cần xem.

Chúc bạn sức khỏe, công tác tốt và tiện ích của bạn ngày một hoàn thiện hơn và được nhiều người sử dụng.
 
Upvote 0
Dear dhn46!

Bạn ơi, Khi chọn xem tùy chọn hoặc xem theo số thứ tự (đã chọn nhiều dữ liệu để xem rồi) thì:
1. làm sao để có thể quay về bảng tính ngay mà không phải click "Close Print Preview" nhiều lần (đủ số lượng đã chọn).
2. làm sao để chuyển nhanh đến trang của người thứ "n" cần xem.

Chúc bạn sức khỏe, công tác tốt và tiện ích của bạn ngày một hoàn thiện hơn và được nhiều người sử dụng.

Chào bạn,

Nếu bạn xác định xem một số thành phần thì bạn có thể chọn xem tùy chọn xác suất trước rồi hãy chọn hết nhé. Hiện tiện ích chưa hỗ trợ cancel hàng loạt như bạn đề cập.
 
Upvote 0
Chào thầy dhn46,
Đầu tiên xin cảm ơn thầy về file chia sẻ rất hữu ích, em đã áp dụng vào công việc của mình rất tốt.
Thứ hai, em muốn hỏi thêm nhờ thầy và các anh chị diễn đàn gỡ giúp em vấn đề này. Từ file form mẫu, em muốn nhân bản in thành nhiều bản giống nhau bằng cách nhập số lượng bản muốn in vào hộp inbox hoặc cell nào đó được hay không ạ?
File gửi kèm là ứng dụng của em để in nhãn cho hàng hóa. Em muốn in lặp lại thành 8 bản như nhau ở sheet kết quả.
Giúp em nha! Em cảm ơn thầy và diễn đàn nhiều ạ.
 

File đính kèm

Upvote 0
Chào thầy dhn46,
Đầu tiên xin cảm ơn thầy về file chia sẻ rất hữu ích, em đã áp dụng vào công việc của mình rất tốt.
Thứ hai, em muốn hỏi thêm nhờ thầy và các anh chị diễn đàn gỡ giúp em vấn đề này. Từ file form mẫu, em muốn nhân bản in thành nhiều bản giống nhau bằng cách nhập số lượng bản muốn in vào hộp inbox hoặc cell nào đó được hay không ạ?
File gửi kèm là ứng dụng của em để in nhãn cho hàng hóa. Em muốn in lặp lại thành 8 bản như nhau ở sheet kết quả.
Giúp em nha! Em cảm ơn thầy và diễn đàn nhiều ạ.
Chào bạn,

Có thể làm theo ý bạn song đây là ứng dụng dùng tổng quát nên mình chưa có ý định sửa CODE. Tuy nhiên bạn có thể thực hiện lệnh in 8 lần cho 1 sheet để có 8 kết quả như ý phải không bạn?
 
Upvote 0
Chào bạn,

Có thể làm theo ý bạn song đây là ứng dụng dùng tổng quát nên mình chưa có ý định sửa CODE. Tuy nhiên bạn có thể thực hiện lệnh in 8 lần cho 1 sheet để có 8 kết quả như ý phải không bạn?

Dạ đúng rồi thầy. Thêm nữa là nếu em muốn lấy dữ liệu từ 2 sheet khác nhau đổ vào sheet form thì phải làm sao ạ?
Cảm ơn thầy rất nhiều.
 
Upvote 0
Dạ đúng rồi thầy. Thêm nữa là nếu em muốn lấy dữ liệu từ 2 sheet khác nhau đổ vào sheet form thì phải làm sao ạ?
Cảm ơn thầy rất nhiều.
Có thể làm được nhưng hơi phức tạp bạn ah. Bạn thay đổi sheet Code Name cho sheet mà bạn muốn lấy dữ liệu in thành Sheet2 là được. Hy vọng là bạn có thể tự biến đổi được.
 
Upvote 0
Dạ đúng rồi thầy. Thêm nữa là nếu em muốn lấy dữ liệu từ 2 sheet khác nhau đổ vào sheet form thì phải làm sao ạ?
Cảm ơn thầy rất nhiều.
Nhé, để lấy từ 2 sheet, nếu không làm trong code thì bạn có thể dùng đúng tính năng liên kết/ tham chiếu số liệu từ các sheet của Excel mà đưa dữ liệu từ nhiều nơi vào sheet chứa dữ liệu để code sử dụng.
Bài hỏi của bạn chưa rõ lắm, có thể bạn Ninh hiểu lầm về việc phải sửa code, nhưng cũng có thể bạn chỉ nghĩ đến việc làm thế nào để chương trình lấy nhiều dữ liệu từ các sheet khác nhau thay vì sử dụng cách tôi đề cập ở trên.

Bàn thêm
Code thì có nguyên tắc của nó, tại sao ta không sáng tạo và vận dụng mềm dẻo. Nếu mà phải đáp ứng nhiều yêu cầu quá, Ninh chắc phải ngồi cả ngày mất!
Tôi không có ý phê, nhưng thực ra, ngay cả với chính tôi, cái gì thấy tiện làm được là tôi làm, không lạm dụng quá mức vào code. Trừ khi bắt buộc phải thế.
Các giải pháp được cung cấp ra trên này của các bạn tâm huyết, đa phần là nhằm đáp ứng các nguyên tắc riêng về tổ chức dữ liệu trong đó khả năng mở rộng hoặc sử dụng tùy biến đã ở mức rất cao rồi. Có những yêu cầu đặc thù thì tùy từng trường hợp mới phải thay đổi. Có thế thì người cho mới có thời gian mà làm việc khác và người nhận có thêm cơ hội mà sáng tạo trong công việc chứ.
Xin có vài dòng lỗ mỗ thế.
 
Upvote 0
Thầy ơi, sao em chép về máy mà không thấy công thức nào hết vậy thầy? em bấm thử lệnh in thi nó báo :"Can not run macro..." là sao vậy thầy, xin thầy hướng dẫn giúp em, vì em cần in số lượng lớn mầu giấy chưng nhận bảo hiểm học sinh (in lên mẫu có sẵn đó thầy) em cám ơn thầy nhiều lắm. Mail của em phiyenbt@gmail.com
 
Upvote 0
Thầy ơi, sao em chép về máy mà không thấy công thức nào hết vậy thầy? em bấm thử lệnh in thi nó báo :"Can not run macro..." là sao vậy thầy, xin thầy hướng dẫn giúp em, vì em cần in số lượng lớn mầu giấy chưng nhận bảo hiểm học sinh (in lên mẫu có sẵn đó thầy) em cám ơn thầy nhiều lắm. Mail của em phiyenbt@gmail.com
Bạn hãy enable macro nhé. Cái này tìm trên diễn đàn nhiều lăm. Ví dụ như;
http://www.giaiphapexcel.com/forum/showthread.php?661-Để-macro-có-thể-chạy-được-trong-Excel

Chúc bạn thành công!
 
Upvote 0
hiện em cũng đang muốn làm một chương trình làm thẻ nhân viên với nòng cốt là code của bác, qua nghiên cứu vài ngày, khó quá :|. Mà sao em đã chọn folder ảnh rồi mà nó không hiện lên nhỉ bác ơi? (em mới chập chững học, qua các bài mà làm chứ không nhiều qua lý thuyết, có gì ngu ý bác thông cảm cho nhé)
 
Upvote 0
hiện em cũng đang muốn làm một chương trình làm thẻ nhân viên với nòng cốt là code của bác, qua nghiên cứu vài ngày, khó quá :|. Mà sao em đã chọn folder ảnh rồi mà nó không hiện lên nhỉ bác ơi? (em mới chập chững học, qua các bài mà làm chứ không nhiều qua lý thuyết, có gì ngu ý bác thông cảm cho nhé)
Chào bạn, để làm thẻ bạn dùng Form in có lặp lại và chú ý: tên ảnh = tên ảnh trong cột tên ảnh là được.
 
Upvote 0
Bạn muốn chỉnh khít các thẻ thì bạn PHẢI chỉnh trong mã nguồn.
Bạn mở cửa sổ VBA lên tìm tất cả các đoạn code sau trong MdlIn

Mã:
                Cells(lR * (iRf + 1) + 1, lC * jCf + CCard + 1).EntireRow.RowHeight = [COLOR=#ff0000][B]5[/B][/COLOR]



Mã:
            Cells(1, (i - 1) * jCf + i).EntireColumn.ColumnWidth = [COLOR=#ff0000][B]0.5[/B][/COLOR]

Bạn thay đoạn màu đỏ bằng 0.

Thầy dhn46 thân,
Em muốn điều chỉnh hình thẻ to thêm xíu thì làm thế nào, in ra nhỏ quá.
Cảm ơn thầy
 
Upvote 0
Nhưng mà khoảng trống giữa các hình thẻ tăng lên thầy ạ
Đó là do bạn khai báo khu vực thẻ thôi. Bạn cho thẻ của bạn nằm gọn trong 1 vùng rồi khai báo vùng đó là vùng thẻ thì khoảng cách các thẻ vô cùng nhỏ chỉ đủ để 1 lưỡi dao cắt ra các thẻ riêng biệt.

Nếu không làm được bạn post file tôi làm thử cho bạn.
 
Upvote 0
Hi dhn46,
Khi mình đổi tên sheet name tại C1 trong mục sheet Khai bao thì chương trình cứ báo "Đặt tên cột" nên không thể chỉnh sửa lại được, với lại file của mình có nhiều sheet, thì các sheet không nằm thêm thứ tự, mặc dù có khai báo tên sheet chứa form cần in nhưng chương trình cứ mặc định in sheet1 trong file của mình. Hy vọng bạn có thể giải thích cho mình được không ạ? Cảm ơn bạn
 
Lần chỉnh sửa cuối:
Upvote 0
Hi dhn46,
Khi mình đổi tên sheet name tại C1 trong mục sheet Khai bao thì chương trình cứ báo "Đặt tên cột" nên không thể chỉnh sửa lại được, với lại file của mình có nhiều sheet, thì các sheet không nằm thêm thứ tự, mặc dù có khai báo tên sheet chứa form cần in nhưng chương trình cứ mặc định in sheet1 trong file của mình. Hy vọng bạn có thể giải thích cho mình được không ạ? Cảm ơn bạn
Chào bạn,

Hiện tượng bạn gặp đó là lỗi của chương trình, tôi đã fix lỗi này.
Bạn DownLoad Inform New 3 để sử dụng nhé. (File tại bài #1).
 
Upvote 0
Anh ơi!
Em hiện tại đã sửa được phần form xong hết rồi anh ạ, nhưng không hiểu sao em ko thể nào chèn ảnh vào được, có một vài câu hỏi sau mong anh giải thích dùm em với, do công ty ko cho xem video nên không tài nào hiểu được
1. Làm thế nào để đặt tên cho shapes được
2. Trong cột E2 (ver2) là "Khung ảnh" với cột F2 là "Tên khung ảnh" thì ở đây điền là gì ạ? (em đã cho riêng một foldel ảnh, và đặt tên ảnh trùng với tên số code trong cột data).

Quan trọng nhất là phần chèn ảnh vào, còn lại em đã chỉnh được rồi ạ, bài của anh quá ngon, công ty em đang rất cần phần in thẻ, trước toàn làm bằng tay. Cảm ơn anh nhiều ạ
 
Upvote 0
Anh ơi!
Em hiện tại đã sửa được phần form xong hết rồi anh ạ, nhưng không hiểu sao em ko thể nào chèn ảnh vào được, có một vài câu hỏi sau mong anh giải thích dùm em với, do công ty ko cho xem video nên không tài nào hiểu được
1. Làm thế nào để đặt tên cho shapes được
Chọn shapes cần đặt tên sau đó gõ tên cần đặt vào ô name box--> Enter.
 
Upvote 0
Anh ơi!
Em hiện tại đã sửa được phần form xong hết rồi anh ạ, nhưng không hiểu sao em ko thể nào chèn ảnh vào được, có một vài câu hỏi sau mong anh giải thích dùm em với, do công ty ko cho xem video nên không tài nào hiểu được
1. Làm thế nào để đặt tên cho shapes được
2. Trong cột E2 (ver2) là "Khung ảnh" với cột F2 là "Tên khung ảnh" thì ở đây điền là gì ạ? (em đã cho riêng một foldel ảnh, và đặt tên ảnh trùng với tên số code trong cột data).

Quan trọng nhất là phần chèn ảnh vào, còn lại em đã chỉnh được rồi ạ, bài của anh quá ngon, công ty em đang rất cần phần in thẻ, trước toàn làm bằng tay. Cảm ơn anh nhiều ạ
Chào bạn,

Tôi trả lời 2 câu hỏi của bạn

1. Bạn kích chọn vào shape, quan sát phía trên góc bên trái có chữ Rectang...(nơi sẽ hiện địa chỉ ô khi kích chuột vào) gõ tên khung ảnh vào đó. Bạn xem Video lúc tôi kích vào shape và gõ SHP

2. Sau khi đặt tên thì đó chính là tên khung ảnh mà bạn cần điền vào cột E.
 
Upvote 0
Cảm ơn anh, em đã hiểu phần này, nhưng sao vẫn ko hiện ảnh lên được, em đưa file lên anh xem dùm em với nhé
 

File đính kèm

Upvote 0
Bạn cho hỏi bạn có kn nào về việc khai báo máy in kim lq-2180 dùng để in form giấy a4/2 (một trang giấy a4 cắt làm 2) loại continuous form dùng để in chứng từ. Mình có làm cái truy vấn để in lên form loại này mà chọn khổ giấy không thành công, in cứ bị giật trang hoài. Làm sao in hết 1 form giấy (1/2 khổ a4) thì nó load lên form sau để in trang tiếp theo cho trùng với form đầu. Đang rồi chở này
 
Upvote 0
Bạn đà khai báo link folder ảnh đâu. F1 sheet Khai bao
em khai báo rồi bác ạ. Chỉ đúng đường dẫn của nó, để ngay ngoài desktop luôn, ảnh giống với phần khai báo mã code :|. Không hiểu sao nó ko lên được ảnh bác ạ? còn lại em khai báo thế là ok rồi hả bác? em dùng Win 7 32 bit, office 2007
 
Upvote 0
em khai báo rồi bác ạ. Chỉ đúng đường dẫn của nó, để ngay ngoài desktop luôn, ảnh giống với phần khai báo mã code :|. Không hiểu sao nó ko lên được ảnh bác ạ? còn lại em khai báo thế là ok rồi hả bác? em dùng Win 7 32 bit, office 2007
- Bạn đặt tên ảnh chưa đúng. Cột B của bạn có dang số tức không có số 0 ở đầu trong khi ảnh của bạn có số 0 ở đầu. (Ví dụ: cột B là 12345 thì bạn có ảnh 012345.jpg như vậy không được mà cột B phải là 012345)

- Bạn tải chương trình mới nhất được update ngày hôm nay để khắc phục những lỗi còn tồn tại và áp dụng tốt hơn cho Form của bạn.
 
Lần chỉnh sửa cuối:
Upvote 0
Update bản mới nhất 14.08.2014. Tải tiện ích tại bài #1
 
Upvote 0
cảm án bác rất nhiều ạ, em đã sửa và thành công :d.
 
Upvote 0
Chào bạn!
Mình đã đọc và tìm hiểu hết các bài và thắc mắc ở trên nhưng vẫn không hiểu sẽ triển khai cho file của mình như thế nào?
Rất mong được bạn giúp đỡ.
file này mình đã nhờ GPE giúp tạo ra được sheet "nhatky" còn vướng mắc vấn đề in muốn xuất ra hàng loạt các ngày nhật ký để in? rất mong bạn giúp đỡ, thanks
 

File đính kèm

Upvote 0
chào các bạn,
tôi muốn bản in không chừa các hàng trên đầu thì chỉnh sửa như thế nào. theo cách này bản in lúc nào cũng chừa 4 dòng trên cùng. Mong nhận được phản hồi giúp đỡ của các bạn.
cám ơn
 
Lần chỉnh sửa cuối:
Upvote 0
Update bản mới nhất 14.08.2014. Tải tiện ích tại bài #1
Anh cho em hỏi 2 vấn đề:
- Em muốn 1 ô Nội dung trong sheet khai báo xuất hiện ở 2 hoặc 3 vị trí khác nhau được ko? Nếu được thì làm ntn?
- Trong file In hàng loạt ko lặp lại , e muốn có sheet kết quả, để xem đã trộn đủ chưa, và muốn lưu lại kết quả đó? Nếu được thì pải tạo sheet KQ ntn?
 
Upvote 0
Anh cho em hỏi 2 vấn đề:
- Em muốn 1 ô Nội dung trong sheet khai báo xuất hiện ở 2 hoặc 3 vị trí khác nhau được ko? Nếu được thì làm ntn?
- Trong file In hàng loạt ko lặp lại , e muốn có sheet kết quả, để xem đã trộn đủ chưa, và muốn lưu lại kết quả đó? Nếu được thì pải tạo sheet KQ ntn?
Chào bạn,

Tôi trả lời 2 câu hỏi của bạn

1/ Bạn muốn xuất hiện tại nhiều vị trí thì bạn khai báo bình thường, cứ 1 cột tại sheet Data sẽ tương ứng 1 ô tại sheet Form, các giá trị cột lặp lại nhiều lần với nhiều vị trí

2/ Tiện ích In không lặp lại không cho phép làm như vậy. Nếu bạn muốn lưu hãy sử dụng phần Lặp lại để lưu nhé.
 
Upvote 0
chào các bạn,
tôi muốn bản in không chừa các hàng trên đầu thì chỉnh sửa như thế nào. theo cách này bản in lúc nào cũng chừa 4 dòng trên cùng. Mong nhận được phản hồi giúp đỡ của các bạn.
cám ơn
Bạn không muốn 4 dòng đầu tại sheet KQ thì bạn ẩn 4 dòng đó đi là được.
 
Upvote 0
Cái này rất hay,co thể ứng dụng vao in hd rất nhanh,đúng cái minh can.Mình sẽ xài và góp y!
 
Upvote 0
Chào bạn, mình gởi file ảnh minh họa từng sheet. Nhờ bạn chỉ giúp nguyên nhân hình và logo ko show được.
 

File đính kèm

Upvote 0
Chào bạn,

Nhìn hình thì chịu bạn ah. Vì cần biết bạn đặt thông số như thế nào, tên ảnh như thế nào cũng như format các Object trên sheet.

Bạn có thể gửi 1 file ví dụ và 1 ít ảnh ví dụ của bạn để tôi xem được không? Chắc có cách giải quyết cho bạn.
 
Upvote 0
Gởi bạn file đính kèm. File ảnh là jpg và được lưu theo Code

Chào bạn,

Nhìn hình thì chịu bạn ah. Vì cần biết bạn đặt thông số như thế nào, tên ảnh như thế nào cũng như format các Object trên sheet.

Bạn có thể gửi 1 file ví dụ và 1 ít ảnh ví dụ của bạn để tôi xem được không? Chắc có cách giải quyết cho bạn.
 
Upvote 0
Chào bạn, Làm sao để mình có thể in thẻ học sinh 2 mặt ạ?
1 lần em in 8 thẻ, trên exel
THE HS ,,.jpg
Em dùng máy Epson T60
Cảm ơn các bạn tư vấn.
 
Upvote 0
Chào bạn, Làm sao để mình có thể in thẻ học sinh 2 mặt ạ?
1 lần em in 8 thẻ, trên exel
View attachment 150183
Em dùng máy Epson T60
Cảm ơn các bạn tư vấn.

Chào bạn,

Tiện ích sẽ giúp bạn tạo Form thẻ như ý song để in 2 mặt thì bạn cần tự căn chỉnh lề in cho hợp lý. Tôi nghĩ việc căn chỉnh này sẽ không quá khó khăn.
 
Upvote 0
Tiện ích sẽ giúp bạn tạo Form thẻ như ý song để in 2 mặt thì bạn cần tự căn chỉnh lề in cho hợp lý. Tôi nghĩ việc căn chỉnh này sẽ không quá khó khăn.[/QUOTE]
Em cũng có như cầu như này ah
Đã căn chỉnh hết rời
Chì cần in 1 lần hai mặt,em có thêm mặt phụ hướng dẫn sử dụng nữa,và mỗi lần in được 9 thẻ,em muốn sau khi in 9 thẻ thì nó nhảy tiếp đến 10
Tức là số thứ tự 1 lần in là đến 9 và nó link sang tên người bên sheet kia
Nhờ anh chỉnh giúp em như sau ah:
In 1 lần 2 mặt ,do form có số lượng là 9,nên sau khi in hết 1 tờ nó tự động thêm vào cái hàng số thứ tự bên phải,tức là số 1 đó sẽ là số 10 để cho các hàng kế tiếp nhảy lần lượt luôn,và in cho đến khi hết cái sheet bên kia,sheet bên kia sẽ ghi stt nhân viên tương ứng
Em cảm ơn
bác tải link này giúp em với,em up lên nhưng báo chỉ co 1Mb cho toàn bộ nên không up được
https://drive.google.com/file/d/0B3x_jyEnLctsdkNPb01ldkZvZEU/view?usp=sharing
 
Lần chỉnh sửa cuối:
Upvote 0
làm ơn cho em hỏi có cách nào tạo kết quả nhanh hơn không, in khoảng 500 thẻ thì rất là lâu
 
Upvote 0
Chào bạn, cho mình hỏi code để add ảnh vào shape được không? Vì mình muốn tạo file danh sách nhân viên, ở phần ảnh mình muốn tạo shape. Làm cách nào để ảnh tự vào shape theo danh sách của mình???. Hiện tại mình đang sử dụng cách của thầy ndu nhưng ảnh nó add vào trực tiếp cell dẫn đến không có đường viền giữa các ảnh.
 
Upvote 0
Chào bạn, cho mình hỏi code để add ảnh vào shape được không? Vì mình muốn tạo file danh sách nhân viên, ở phần ảnh mình muốn tạo shape. Làm cách nào để ảnh tự vào shape theo danh sách của mình???. Hiện tại mình đang sử dụng cách của thầy ndu nhưng ảnh nó add vào trực tiếp cell dẫn đến không có đường viền giữa các ảnh.
Bạn add vào shape bình thường.

Đặt tên cho shape và khai báo.

Bạn xem video để rõ cách làm.
 
Upvote 0
Bạn add vào shape bình thường.

Đặt tên cho shape và khai báo.

Bạn xem video để rõ cách làm.

À cái đó thì mình đã làm được rồi nhưng cho mình hỏi code vba để add ảnh vào shape là gì vậy bạn
Bạn xem file giúp mình nhé.
 

File đính kèm

Lần chỉnh sửa cuối:
Upvote 0
À cái đó thì mình đã làm được rồi nhưng cho mình hỏi code vba để add ảnh vào shape là gì vậy bạn
Đây là toàn bộ Fuction gán hình vào shape
Mã:
Public Function LinkPic(LinkFolder As String, PartPicName As String, Shp As String)
    On Error Resume Next
    Dim fso, f, f1, ten_tep, ok, tenanh
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set f = fso.GetFolder(LinkFolder)
    Set fc = f.Files
    ok = False
    If Right(LinkFolder, 1) <> "\" Then
        LinkFolder = LinkFolder & "\"
    End If
    For Each f1 In fc
        ten_tep = f1.Name
        If UCase(ten_tep) = UCase(PartPicName & ".jpg") Or _
           UCase(ten_tep) = UCase(PartPicName & ".bmp") Or _
           UCase(ten_tep) = UCase(PartPicName & ".png") Then
            tenanh = ten_tep
            ok = True
            Exit For
        End If
    Next
    If ok Then
        Sheets(Sheet1.[C1].Value).Shapes(Shp).Fill.Visible = msoTrue
        Sheets(Sheet1.[C1].Value).Shapes(Shp).Fill.UserPicture LinkFolder & tenanh
    Else
        Sheets(Sheet1.[C1].Value).Shapes(Shp).Fill.Visible = msoFalse
    End If

Có tham số nên phức tạp hơn 1 chút.

Để dễ dàng thì bạn ghi macro lại sẽ rõ.
 
Upvote 0
Bạn xem giúp file đính kèm ở trên của mình nhé.
 
Upvote 0
Bạn xem giúp file đính kèm ở trên của mình nhé.
Đơn giản thì bạn dùng cài này

Mã:
Sub AddPic()


On Error Resume Next
Dim Cls As Range
Dim LinkFolder As String
    'Dien Link Folder chua anh o day
    LinkFolder = "D:\"
    'Vung code là A4:A22 => Thay doi cho phu hop
    For Each Cls In [A4:A22]
        ActiveSheet.Shapes.AddShape(msoShapeRectangle, Cls.Offset(, 8).Left + 5, Cls.Offset(, 8).Top + 3, Cls.Offset(, 8).Width * 0.9, Cls.Offset(, 8).Height * 0.8).Select
        Selection.ShapeRange.Fill.UserPicture LinkFolder & Cls & ".jpg"
    Next
    
End Sub
 
Upvote 0
Đơn giản thì bạn dùng cài này

Mã:
Sub AddPic()


On Error Resume Next
Dim Cls As Range
Dim LinkFolder As String
    'Dien Link Folder chua anh o day
    LinkFolder = "D:\"
    'Vung code là A4:A22 => Thay doi cho phu hop
    For Each Cls In [A4:A22]
        ActiveSheet.Shapes.AddShape(msoShapeRectangle, Cls.Offset(, 8).Left + 5, Cls.Offset(, 8).Top + 3, Cls.Offset(, 8).Width * 0.9, Cls.Offset(, 8).Height * 0.8).Select
        Selection.ShapeRange.Fill.UserPicture LinkFolder & Cls & ".jpg"
    Next
    
End Sub

Mình làm nó chỉ chèn shape mà không chèn ảnh?
 
Upvote 0
Bạn ơi. Mình rất cảm ơn bạn đã chia sẽ tiện ích.
Cho mình hỏi:
- Mình in thẻ HỌC SINH dùng "In Form có lặp lại" .
+ Mình in 2 mặt trên 1 tờ giấy, mặt trước mặt sau như nhau, mỗi lần in 1 mặt giấy A4 mình in được 8 thẻ HS. Vậy làm cách nào mình có thể in 2 mặt giống nhau.
Ví du: Mặt trước NGUYỄN VĂN A THÌ MẶT SAU CŨNG NGUYỄN VĂN A

+ Mình muốn in ra Sheet Kết Quả có thể được 2 trang giấy a4 như hình bên dưới.

Mình trân trọng cảm ơn các bạn đã quan tâm , giúp đỡ. Nếu có thể Teamview giúp mình. :notworthy:
 

File đính kèm

  • Capture.jpg
    Capture.jpg
    74.3 KB · Đọc: 64
Upvote 0
Bác ơi cho em hỏi sao sheet KQ cái form nó không bắt đầu từ A1 luôn mà toàn từ cột B3 vậy.
 
Upvote 0
Đây bạn xem file giúp mình nhé.
Tôi đã đọc tin nhắn của bạn và đã trả lời. Bạn không đọc kỹ từng từ?

Trong đó tôi có nói Scan mẫu giấy theo tỷ lệ 1:1.

Khi bạn chèn vào Excel cũng theo tỷ lệ 1:1.

File của bạn tôi thấy ảnh méo xẹo như thế kia thì làm sao in ko lệch.

Bạn chèn làm sao để in 1 cái giấy khen nó trùng khít phôi thì bạn áp dụng in form sẽ chuẩn.
 
Upvote 0

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

Back
Top Bottom