Chèn hình vào cell cố định với VBA

Liên hệ QC

voduyminh0504

Thành viên chính thức
Tham gia
11/2/15
Bài viết
51
Được thích
12
Chào các bạn
Tôi xin lỗi trước là thread này thì có thể khá cũ với các bạn. Tuy nhiên tôi đã bỏ mất mấy ngày mà chẳng thể giải quyết được nên đành phải nhờ sự hỗ trợ của các bạn.
Như trong file đính kèm, tôi cần chèn hình từ cột F sheet "Dulieu" vào ô I7 trong sheet "TONGHOP" theo mã được hiển thị trong cell I6 tương ứng với mã trong cột B sheet 'DULIEU"
Rất cám ơn các bạn.
 

File đính kèm

  • Chép hình vào ô cố định theo VBA.xlsx
    234 KB · Đọc: 4
Chào các bạn
Tôi xin lỗi trước là thread này thì có thể khá cũ với các bạn. Tuy nhiên tôi đã bỏ mất mấy ngày mà chẳng thể giải quyết được nên đành phải nhờ sự hỗ trợ của các bạn.
Như trong file đính kèm, tôi cần chèn hình từ cột F sheet "Dulieu" vào ô I7 trong sheet "TONGHOP" theo mã được hiển thị trong cell I6 tương ứng với mã trong cột B sheet 'DULIEU"
Rất cám ơn các bạn.
Tham khảo cách dùng hàm picLookup này của anh @ndu96081631
 

File đính kèm

  • Ham chen hinh PicLookup.xlsm
    201.3 KB · Đọc: 17
Upvote 0
Tham khảo cách dùng hàm picLookup này của anh @ndu96081631
Cám ơn bạn "giaiphap" rất nhiều.
Có điều bạn set hàm trong cell thể hiện hình là =PicLookup(I6,DULIEU!$B$2:$F$6,5) nên nếu thêm hình thì chẳng hiển thị nên ban đầu tôi có lúng túng. Tôi chuyển thành =PicLookup(I6,DULIEU!$B$2:$F$600,5) thì mọi chuyện êm hết (tôi nói rõ ở đây để sau này có bạn nào tham khảo thì dễ nắm được).
Vấn đề là code quá phức tạp, chắc cả đời tôi chẳng thể nào học được như thế.
Cám ơn bạn rất nhiều một lần nữa.

Nhân tiện, nhờ anh giúp xem giùm cái code trong file đính kèm có vấn đề gì mà nó luôn có hai vấn đề, một là nó chỉ chấp nhận hiển thị ở sheet TONGHOP khi đặt tên theo số thứ tự mà không chịu tên của hình khi được đặt theo mã (như file anh đã giúp), thứ hai là nó chỉ chịu theo thứ tự liên tục (chẳng hạn hình ở Row 44 Sheet DULIEU mà đổi thành 12 thì nó không hiển thị ở sheet TONGHOP, trong khi để tên là 11 thì ok).

Xin được cám ơn anh trước.
Xin lỗi đã làm phiền anh khá nhiều.
 

File đính kèm

  • Kiem tra Code.xlsm
    898.7 KB · Đọc: 8
Upvote 0
Cám ơn bạn "giaiphap" rất nhiều.
Có điều bạn set hàm trong cell thể hiện hình là =PicLookup(I6,DULIEU!$B$2:$F$6,5) nên nếu thêm hình thì chẳng hiển thị nên ban đầu tôi có lúng túng. Tôi chuyển thành =PicLookup(I6,DULIEU!$B$2:$F$600,5) thì mọi chuyện êm hết (tôi nói rõ ở đây để sau này có bạn nào tham khảo thì dễ nắm được).
Vấn đề là code quá phức tạp, chắc cả đời tôi chẳng thể nào học được như thế.
Cám ơn bạn rất nhiều một lần nữa.

Nhân tiện, nhờ anh giúp xem giùm cái code trong file đính kèm có vấn đề gì mà nó luôn có hai vấn đề, một là nó chỉ chấp nhận hiển thị ở sheet TONGHOP khi đặt tên theo số thứ tự mà không chịu tên của hình khi được đặt theo mã (như file anh đã giúp), thứ hai là nó chỉ chịu theo thứ tự liên tục (chẳng hạn hình ở Row 44 Sheet DULIEU mà đổi thành 12 thì nó không hiển thị ở sheet TONGHOP, trong khi để tên là 11 thì ok).

Xin được cám ơn anh trước.
Xin lỗi đã làm phiền anh khá nhiều.
Thứ nhất bạn chưa hiểu code nên mới hỏi câu dễ cười, Bạn tìm số (Ô B2 Sheet TONGHOP) bên cột B sheet DULIEU mà đòi hỏi tên hình là sao. Muốn tìm theo tên hình thì sửa chổ.
Mã:
.Shapes(.Range("b:b").Find(Target.Value, , xlValues, xlWhole).Value).CopyPicture
Thành
Mã:
.Shapes(Target.Value).CopyPicture
Thứ hai bạn tìm tên hình rồi vậy hỏi số thứ tự làm chi, còn muốn biết thì thử bỏ dòng lệnh dưới đây xem sẽ rõ.
Mã:
On Error GoTo Thoat
Còn nếu muốn tham khảo công thức khỏi càn code gì hết thì có thể xem ở đây.
 
Upvote 0
Cám ơn anh đã phản hồi.
Tôi sẽ xem lại cái thread anh gửi để tham khảo thêm.
Về việc số thứ tự thì xin nói rõ cho anh, nếu như đặt 1, 2, 3, 4 vào cột tên hình thì nó sẽ copy hình, nhưng nếu thay 1, 2, 3, 4, ... bằng tên hình như TK-001, TK-002 theo tên hình thì nó không nhận.
Đúng là tôi không hiểu gì về code nên làm phiền anh chuyện không đáng.
Rất mong anh bỏ qua.
 
Upvote 0
Còn nếu muốn tham khảo công thức khỏi càn code gì hết thì có thể xem ở đây.
Hôm qua cũng định chỉ cho bạn ấy cách dùng công thức ở bài này nhưng nghĩ ra công thức chỉ cho một ô không kéo được, đoán bạn ấy cần kéo cho nhiều ô nên lại thôi
 
Upvote 0
Chào bạn Binbo2020,
Cám ơn bạn đã quan tâm.
Tôi cần hiển thị hình chỉ trong một cell thôi, đại khái như làm CV của nhân viên vậy.
Hình được lấy từ dữ liệu có sẳn trong sheet DULIEU (lên đến khoảng 1000 nhân viên. Sau khi nhập mã nhân viên vào sheet TONGHOP thì hình của nhân viên theo mã sẽ hiển thị trong cell quy định.
Hiện nay thì tôi làm theo cách lấy hình từ thư mục riêng, tuy nhiên nó có hạn chế là khi chuyển file thì phải chuyển luôn thư mục rồi phải set lại code truy xuất từ thư mục nên có phần bất tiện.
Một lần nữa, cám ơn bạn đã quan tâm đến thread của tôi.
 
Upvote 0
Hình được lấy từ dữ liệu có sẳn trong sheet DULIEU (lên đến khoảng 1000 nhân viên. Sau khi nhập mã nhân viên vào sheet TONGHOP thì hình của nhân viên theo mã sẽ hiển thị trong cell quy định.
Hàm thì thế này, không biết lên đến 1000 nhân viên thì có chậm không, không có dữ liệu thử lên không biết
 
Upvote 0
Rất cám ơn bạn
Tôi sẽ xem và áp dụng cho công việc của tôi.
Chúc bạn một ngày tốt lành.
 
Upvote 0
Web KT

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

Back
Top Bottom