Chèn hình ảnh tự động vào excel

Liên hệ QC
cho mình hỏi tét như nào bạn nhỉ.
 
các bác oi em muon chèn nhieu anh tự động vao mot trang excel thi phải lam như nao vậy các bác chỉ em với.
 
Sorry... tôi sơ xuất!
- Bạn xóa mấy tấm ảnh (đã chèn) tại sheet Z7
- Tiếp theo bấm Alt + F11, thay đoạn:
Sheet1.Shapes(PicName).Delete
Thành:
ActiveSheet.Shapes("Pic").Delete
Thay:
.Name = PicName
Thành:
.Name = "Pic"
Thay:
[B12:L22]
Thành:
[B12:O22]

Hoặc chạy file mới này

Chào anh ndu,
Em thử áp dụng code của anh vào file của em mà không tài nào chạy được. Em thử đổi mọi các cũng ko được, kính mong anh và các cao thủ xem giúp giùm em (em muon hien thị hình trong ô màu vàng). File em gửi đính kèm theo.
Sẵn tiện cho phép em hỏi thêm, em dùng Office 2007 khi em lưu dạng .xlsx thì ko chạy macro được, em phải chuyển sang dạng .xlsm. Nhờ anh giải thích và chỉ dẫn giúp em để khắc phục tình trạng trên. Cám ơn anh rất nhiều
 
Cảm ơn các anh chị về code này nhưng có một điều là mã hình tôi phải gõ tay hoặc sử dụng consolidate thì mới lấy được hình còn như tôi dùng hàm "Vlookup" hay hàm "If" thì không hiển thị được hình mong các anh chi giúp cho
 
Xin chào bác du96081631,
Em là thành viên mới, cũng như mới học excel mong bác chỉ bảo.
Cái chủ đề này đã được post lên lâu rùi nhưng em thấy rất hay và thích và muốn được học cái marco này. Nhưng mỗi tội excel vẫn kém nên chưa hiểu gì ^^.
Mong bác giúp đỡ có thể quay video lại từ đầu các bước bác làm được không ạ? cho em học lỏm tý?
Hy vọng nhận được phản hồi của bác sớm.
Em xin cảm ơn ạ.
Chúc bác năm mới vui vẻ và thành công.
 
Sorry... tôi sơ xuất!
- Bạn xóa mấy tấm ảnh (đã chèn) tại sheet Z7
- Tiếp theo bấm Alt + F11, thay đoạn:
Sheet1.Shapes(PicName).Delete
Thành:
ActiveSheet.Shapes("Pic").Delete
Thay:
.Name = PicName
Thành:
.Name = "Pic"
Thay:
[B12:L22]
Thành:
[B12:O22]

Hoặc chạy file mới này

Bác ndu96081631 ơi, em gửi câu hỏi nhưng chắc bác chưa đọc. Bác xem giúp em với. Cảm ơn bác nhiều ạ
 
Chèn ảnh tự động từ danh sách vào trong Form in và tự động xóa ảnh đi sau khi in xong

Xin chào bác ndu96081631
Mình có một câu hỏi mong nhận được sự giúp đỡ của bác. Mình có một Files dữ liệu gồm 2 Sheets là DS_VDV và IN_THE:
Mình muốn làm một cái Form in thẻ VĐV tự động theo thiết kế như Files (Đính kèm), Khi chạy Macro In the máy sẽ tự động lấy toàn bộ thông tin bên Sheet DS_VDV theo thứ tự sang Sheet IN_THE.
Mỗi bản in sẽ cho ra từ 4 - 6 thẻ. Tuy nhiên mình đang gặp khó khăn là làm sao để khi Hàm Loockup lấy Thông tin của các VĐV từ Sheet DS_VDV sang Sheet IN_THE thì ẢNH của VĐV đó cũng được tự động lấy sang và chèn đúng vừa khít vào vị trí như Hình số 2 để tạo ra trang in, sau khi in xong thì sẽ xóa ảnh đi để tải dữ liệu của VĐV khác vào và in tiếp.
Rất mong nhận được sự giúp đỡ của bác. Xin được cảm ơn.
NH_Duong.
Tel: 0975686368
Nick yahoo: sao_vang07
 

File đính kèm

  • QLNS_DUATHUYEN'12.rar
    960 KB · Đọc: 260
Chào các anh các chị hiện em đang thay đổi thẻ nhân viên, form cũ thường phải insert bằng tay rất lâu. Qua bác sỹ Google em tìm đến đây mong cả nhà giúp đỡ https://mail-attachment.googleuserc...141&sads=LmuD5574-0nWu9WtW-oHKJcw2ps&sadssc=1
file của em như trên em đã thử edit code như bác ndu... rồi mà không chạy được :(

Kết luận cuối cùng: FILE CỦA BẠN Ở ĐÂU?
 
sr em lấy link từ email em gửi cho bác, em upload lại lên mediafire
http://www.mediafire.com/?658i1u3l8lk7zae

Sửa code của bạn thành vầy nhé:
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim Rng As Range, rPic As Range, FileName As String
  Application.ScreenUpdating = False
  On Error Resume Next
  If Not Intersect([A4], Target) Is Nothing Then
    ActiveSheet.Shapes("Pic").Delete
    Set Rng = Sheet1.Range(Sheet1.[A1], Sheet1.[A45500].End(xlUp)).Resize(, 10)
    Set rPic = Rng.Resize(, 1).Find(Target, , xlValues, xlWhole)
    If Not rPic Is Nothing Then
      FileName = ThisWorkbook.Path & "\" & rPic.Offset(, 6).Value
      If CreateObject("Scripting.FileSystemObject").FileExists(FileName) Then
        ActiveSheet.Pictures.Insert(FileName).Name = "Pic"
        With ActiveSheet.Shapes("Pic")
          .LockAspectRatio = False
          .Left = [B2:C10].Left: .Top = [B2:C10].Top
          .Width = [B2:C10].Width: .Height = [B2:C10].Height
        End With
      End If
    End If
  End If
  Application.ScreenUpdating = True
End Sub
Lưu ý: Dòng code màu đỏ chỉ áp dụng cho Excel 2007 trở đi (nếu dùng Excel 2003 thì hãy xóa dòng màu đó ấy)
 
Sửa code của bạn thành vầy nhé:
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim Rng As Range, rPic As Range, FileName As String
  Application.ScreenUpdating = False
  On Error Resume Next
  If Not Intersect([A4], Target) Is Nothing Then
    ActiveSheet.Shapes("Pic").Delete
    Set Rng = Sheet1.Range(Sheet1.[A1], Sheet1.[A45500].End(xlUp)).Resize(, 10)
    Set rPic = Rng.Resize(, 1).Find(Target, , xlValues, xlWhole)
    If Not rPic Is Nothing Then
      FileName = ThisWorkbook.Path & "\" & rPic.Offset(, 6).Value
      If CreateObject("Scripting.FileSystemObject").FileExists(FileName) Then
        ActiveSheet.Pictures.Insert(FileName).Name = "Pic"
        With ActiveSheet.Shapes("Pic")
          .LockAspectRatio = False
          .Left = [B2:C10].Left: .Top = [B2:C10].Top
          .Width = [B2:C10].Width: .Height = [B2:C10].Height
        End With
      End If
    End If
  End If
  Application.ScreenUpdating = True
End Sub
Lưu ý: Dòng code màu đỏ chỉ áp dụng cho Excel 2007 trở đi (nếu dùng Excel 2003 thì hãy xóa dòng màu đó ấy)

Chào anh!
Xin phiền anh một chút nữa, code trên có thể giúp insert nhiều ảnh vào các ô trong cùng một trang không ? Em muốn làm thể tự động insert ảnh vào (vì là ảnh màu, mỗi thẻ chỉ nhỏ không thể in riêng mà tạo kín trang A4 khi đó đi in )
Em xin chân thành cảm ơn !
 
Lần chỉnh sửa cuối:
Chào anh!
Xin phiền anh một chút nữa, code trên có thể giúp insert nhiều ảnh vào các ô trong cùng một trang không ? Em muốn làm thể tự động insert ảnh vào (vì là ảnh màu, mỗi thẻ chỉ nhỏ không thể in riêng mà tạo kín trang A4 khi đó đi in )
Em xin chân thành cảm ơn !

Vậy bạn thiết kế sẵn cái trang mà bạn muốn chèn hình cho tôi đi rồi tôi sẽ giúp
Còn không bạn tự tham khảo bài này:
http://www.giaiphapexcel.com/forum/showthread.php?51408-Chèn-hình-vào-cell-bằng-hàm-tự-tạo
 
Vậy bạn thiết kế sẵn cái trang mà bạn muốn chèn hình cho tôi đi rồi tôi sẽ giúp
Còn không bạn tự tham khảo bài này:
http://www.giaiphapexcel.com/forum/showthread.php?51408-Ch%C3%A8n-h%C3%ACnh-v%C3%A0o-cell-b%E1%BA%B1ng-h%C3%A0m-t%E1%BB%B1-t%E1%BA%A1o

Em định làm như thế này nhờ anh giúp em với, chỉ cần điền số thứ tự vào ô màu đỏ nó sẽ tự động insert dữ liệu và ảnh, phần dữ liệu thì em tự làm được còn phần ảnh thì khó quá. Mong nhận được sự giúp đỡ của anh
http://www.mediafire.com/?q67bq7xn8pa8cwl
Em xin chân thành cảm ơn!
 
Em định làm như thế này nhờ anh giúp em với, chỉ cần điền số thứ tự vào ô màu đỏ nó sẽ tự động insert dữ liệu và ảnh, phần dữ liệu thì em tự làm được còn phần ảnh thì khó quá. Mong nhận được sự giúp đỡ của anh
http://www.mediafire.com/?q67bq7xn8pa8cwl
Em xin chân thành cảm ơn!

Chán bạn quá!
Bảo bạn thiết kế sẵn 1 trang tính đầy đủ mà bạn đưa lên cái gì đâu không
Tôi làm đại đây. Trúng trật ráng chịu
 

File đính kèm

  • CommPic.rar
    2.7 MB · Đọc: 639
Web KT
Back
Top Bottom