Chèn hình ảnh tự động vào excel (1 người xem)

Liên hệ QC

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

ali3340tc

Thành viên chính thức
Tham gia
19/5/09
Bài viết
78
Được thích
16
Xin chào tất cả các bạn

Tôi có một câu hỏi mong nhận được sự giải đáp của các bạn:

Trước đây tôi có 1 file excel gồm 2 sheet:
Sheet 1 là 1 form và cần phải điền nhiều thông tin
Sheet 2 chứa toàn bộ thông tin cần điền cho form của sheet 1.
Tôi đánh số thứ tự thông tin: 1, 2, 3..... Tại sheet 1 tôi dùng lệnh Vlookup để điền thông tin vào form. Và khi cần thông tin nào thì tôi chỉ việc đánh số thứ tự vào là xong.
Hiện nay, do phải cập nhật cả phần hình ảnh vào trong Form của sheet 1 nhưng tôi không biết có cách nào để đưa được ảnh vào 1 cách tự động mà ko phải insert từng cái 1. Ví dụ: Khi tôi đánh số thứ tự 1 vào thì thông tin và hình ảnh của data 1 sẽ hiển thị, khi đánh số 2 vào thì thông tin và hình ảnh của data 2 sẽ hiển thị.

Xin được cảm ơn
 
Cảm ơn các bạn

Tuy nhiên vì tôi cũng chưa hiểu hiều về code nên việc ứng dụng vào thực tế còn gặp nhiều khó khăn. Mong các bạn chỉ giúp cho đoạn mã. Tôi nhấn Alt+F11 nhưng cũng ko hiểu lắm, bạn nào có thể giải thích cho tôi được không?

Xin cảm ơn

Đây là file mà tôi đang cần chèn ảnh tự động vào. Do ko biết về code nên nhờ các bác cao thủ viết dùm. xin cảm ơn
 

File đính kèm

Chỉnh sửa lần cuối bởi điều hành viên:
Đây là file mà tôi đang cần chèn ảnh tự động vào. Do ko biết về code nên nhờ các bác cao thủ viết dùm. xin cảm ơn
Data của bạn hỏng có 1 chữ nào, lấy gì mà làm hả bạn (thật thà ghê, ít ra cũng có vài dòng dử liệu chứ nhỉ)
 
Đây là file mà tôi đang cần chèn ảnh tự động vào. Do ko biết về code nên nhờ các bác cao thủ viết dùm. xin cảm ơn
Có Data rồi thì dể làm thôi
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim Rng As Range, PicName As String
  Application.ScreenUpdating = False
  On Error Resume Next
  If Not Intersect([R2], Target) Is Nothing Then
    Set Rng = Sheet3.Range(Sheet3.[B1], Sheet3.[T65536].End(xlUp))
    PicName = Rng.Resize(, 1).Find(Target, LookAt:=xlWhole).Offset(, 20)
    Sheet1.Shapes(PicName).Delete
    With ActiveSheet.Pictures.Insert(ThisWorkbook.Path & "\" & PicName)
     .Name = PicName
     .Left = [B12:L22].Left: .Top = [B12:L22].Top
     .Width = [B12:L22].Width: .Height = [B12:L22].Height
   End With
  End If
End Sub
Tôi giả lập 26 tấm ảnh, bạn phải sửa lại cho phù hợp nha
 

File đính kèm

Tôi rất cảm ơn Bác ndu96081631 đã giúp đỡ. Tôi đã test thử và chạy rất tốt. Chỉ còn 1 điểm nhỏ là:
1- Bác có thể cho ảnh vào center hộ tôi được ko?
2- Khi load ảnh mới thì ảnh cũ ko bị del mà chỉ nằm dưới của ảnh mới.

Mong bác giúp đỡ tôi.

Xin cảm ơn
 
Tôi rất cảm ơn Bác ndu96081631 đã giúp đỡ. Tôi đã test thử và chạy rất tốt. Chỉ còn 1 điểm nhỏ là:
1- Bác có thể cho ảnh vào center hộ tôi được ko?
2- Khi load ảnh mới thì ảnh cũ ko bị del mà chỉ nằm dưới của ảnh mới.

Mong bác giúp đỡ tôi.

Xin cảm ơn
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
 

File đính kèm

Lần chỉnh sửa cuối:
Không cách nào chèn hình tự động được

Các bạn giúp mình với, hiện mình đang làm một file báo giá bằng excel cho công ty. Quản lý dựa trên mã sản phẩm. File excel có 2 sheet là DMSP với BaoGia. Yêu cầu như sau: Ở sheet BaoGia khi mình đánh vào Mã sản phẩm thì lần các thông tin ứng với mã đó xuất hiện kể cả hình ảnh ở Khung hình ảnh. Mình có tham khảo bài viết PicForm nhưng vẫn không làm sao cho hình xuất hiện ở khung hình ảnh được. Các Anh chị giúp mình với làm hộ Hoặc hướng dẫn mình làm với. Minh up file lên mediafile: http://www.mediafire.com/?kyejmnnzqdk mấy anh chị download về giúp mình nhé
Cảm ơn nhiều!
 
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

Sheet1.Shapes(.Shapes(PicName).Delete

Câu lệnh này có ý nghĩa như thế nào vậy bác.

Mà sao khi em bỏ đi thì nó vẫn chạy bình thường.
 
Sheet1.Shapes(.Shapes(PicName).Delete

Câu lệnh này có ý nghĩa như thế nào vậy bác.

Mà sao khi em bỏ đi thì nó vẫn chạy bình thường.
Ý đồ của tôi là: XÓA CÁI CŨ TRƯỚC MỚI CHÈN CÁI MỚI VÀO (nếu không thì chẳng bao lâu trên sheet sẽ có cả đóng hình nằm chồng lên nhau)
Có điều code ấy viết sai rồi, bạn phải lấy code tại bài số #7 mới đúng
 
Mình down về rồi nhưng test không load ảnh lên được. Dù sao cũng cảm ơn bạn rất nhiều

Chỉ có 2 lý do đối với trường hợp của bạn:
1/Bạn không giải nén ra ổ đĩa mà chạy trực tiếp từ WinRar nên không tìm thấy file hình ảnh.
2/Bạn chưa Enable Macro.
 
chào các anh.
em cần chèn ảnh từ sheet bệnh sang (ảnh đó cappy từ cad sang execll sang)
giúp em với nhé. %#^#$
 

File đính kèm

anh ndu96081631 cho em hỏi, em làm được rồi nhưng em ko biết VBA nên ko biết làm thế nào để nó tự chạy khi ô giá trị nó là 1, 2, 3,... (ví dụ như dùng hàm Vlookup để có giá trị 1, 2, 3...) và tương tự cho các ô tiếp thì phải làm sao anh? Vì Em đang làm phiếu xuất kho với mỗi sản phẩm nó tự ra hình ảnh của sản phẩm đó! Giúp em với, loay hoay cả ngày trời! hịc
 
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

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

Một cách cho bạn tham khảo
 

File đính kèm

Nhờ các thầy và mọi người chỉ giúp cách chèn hình hình vẽ Autoshapes bên sheet: ThuVienHinh sang Sheet:ThongKe
Do thường xuyên chèn thêm hình nên em muốn chèn theo kiểu hàm Vlookup, Khi em nhập mã hiệu trùng với mã hiệu bên ThuVien thì hình bên sheet ThuVien được chèn qua cột bên cạnh của Sheet: ThongKe
Dùng hàm không giải quyết được các thầy và mọi người giúp em một hàm tự tạo bằng VBA với,
Em đang nghĩ dùng list trong Data validation nhưng vẫn nghĩ chưa ra
 

File đính kèm

Lần chỉnh sửa cuối:
Gửi các anh trên diễn đàn giải pháp excel.
Em có 1 file in khuyến mại. Em đã làm VLOOKUP các thông tin rồi. Bây giờ em muốn chèn các ảnh vào sheets đó.
Các Anh giúp em với
 

File đính kèm

Nhờ các thầy và mọi người chỉ giúp cách chèn hình hình vẽ Autoshapes bên sheet: ThuVienHinh sang Sheet:ThongKe
Do thường xuyên chèn thêm hình nên em muốn chèn theo kiểu hàm Vlookup, Khi em nhập mã hiệu trùng với mã hiệu bên ThuVien thì hình bên sheet ThuVien được chèn qua cột bên cạnh của Sheet: ThongKe
Dùng hàm không giải quyết được các thầy và mọi người giúp em một hàm tự tạo bằng VBA với,
Em đang nghĩ dùng list trong Data validation nhưng vẫn nghĩ chưa ra
Nhờ các thầy và anh chị xem giúp em vấn đề này với
Giờ em mới biết mình gửi nhầm Box
phải gửi sang Box VBA mới đúng
 
Lần chỉnh sửa cuối:
Mình có một file excel chèn hình băng VBA nhưng khi copy sang file khac để gửi mail mà người nhận không thể xem được hình trong file đó. Mong các sư phụ chỉ dẩn giup ah! Loi.jpg
 
Xin chào các bạn trên diễn đàn và bác ndu96081631.
Mình có
câu hỏi mong nhận được sự giúp đỡ của các bạn. Mình làm như bác
ndu96081631 hướng dẫn nhưng vẫn ko load hình được. Mình gửi kèm trang mẫu. Vì hình ảnh của mình rất năng nên không gửi lên đước. Tất cả hình ảnh trong các thư mục đặt theo thứ tự từ 1-40. Các bạn giúp giùm mình khi chép file excel này vào thư mục thì nó tự động load toàn bộ hình vào excel. và khi đưa file excel vào thư mục hình ảnh khác thì nó cũng tự động lấy như vậy. Cảm ơn các bạn rất nhiều.
 

File đính kèm

Các anh ơi, giúp em cái này với, em cũng đọc quá trời bài nhưng cuối cùng cũng không làm được, các anh giúp đỡ với. em có đính kèm file của em, các anh giúp đính lệnh vào thử một ô mẫu dùm em nha.
http://www.mediafire.com/download/3oj0zj6e4wx3j76/can_giup.rar

Bạn xem bài viết này là tự nhiên biết cách làm liền:
http://www.giaiphapexcel.com/forum/showthread.php?51408-Chèn-hình-vào-cell-bằng-hàm-tự-tạo
 
Bác ndu96081631 và các bạn giúp mình với, thử nhiều lần vẫn không đưa được hình ảnh vào .
 
Các anh ơi, giúp em cái này với, em cũng đọc quá trời bài nhưng cuối cùng cũng không làm được, các anh giúp đỡ với. em có đính kèm file của em, các anh giúp đính lệnh vào thử một ô mẫu dùm em nha.
http://www.mediafire.com/download/3oj0zj6e4wx3j76/can_giup.rar
Bạn tham khảo tiện ích In Form hàng loạt, link tại chữ ký của tôi

Đây là file của bạn
 

File đính kèm

Có Data rồi thì dể làm thôi
PHP:
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim Rng As Range, PicName As String
  Application.ScreenUpdating = False
  On Error Resume Next
  If Not Intersect([R2], Target) Is Nothing Then
    Set Rng = Sheet3.Range(Sheet3.[B1], Sheet3.[T65536].End(xlUp))
    PicName = Rng.Resize(, 1).Find(Target, LookAt:=xlWhole).Offset(, 20)
    Sheet1.Shapes(PicName).Delete
    With ActiveSheet.Pictures.Insert(ThisWorkbook.Path & "\" & PicName)
     .Name = PicName
     .Left = [B12:L22].Left: .Top = [B12:L22].Top
     .Width = [B12:L22].Width: .Height = [B12:L22].Height
   End With
  End If
End Sub
Tôi giả lập 26 tấm ảnh, bạn phải sửa lại cho phù hợp nha
anh ơi cho em hỏi thử:
Em có nhiều mã hàng ,mỗi mã có hình ảnh khác nhau.Vậy trong 1 sheet liệt kê nhiều mã hàng,khi mình đánh mã hàng nào vào thì sẽ hiện ra hình ảnh của mã hàng đó ở cột bên cạnh đc ko anh
 

File đính kèm

Lần chỉnh sửa cuối:
anh ơi cho em hỏi thử:
Em có nhiều mã hàng ,mỗi mã có hình ảnh khác nhau.Vậy trong 1 sheet liệt kê nhiều mã hàng,khi mình đánh mã hàng nào vào thì sẽ hiện ra hình ảnh của mã hàng đó ở cột bên cạnh đc ko anh

Tùy theo dữ liệu mà sửa code cho phù hợp chứ
Dùng cái này:
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim Rng As Range, PicName As String
  Application.ScreenUpdating = False
  On Error Resume Next
  If Not Intersect(Range("A6:A100"), Target) Is Nothing Then
    If Target.Count = 1 Then
      PicName = Target.Address(0, 0)
      ActiveSheet.Pictures(PicName).Delete
      With ActiveSheet.Pictures.Insert(ThisWorkbook.Path & "\" & Target.Value & ".jpg")
       .ShapeRange.LockAspectRatio = False
       .Name = PicName
       .Left = Target.Offset(, 3).Left: .Top = Target.Offset(, 3).Top
       .Width = Target.Offset(, 3).Width: .Height = Target.Offset(, 3).Height
     End With
   End If
  End If
End Sub
 
Tùy theo dữ liệu mà sửa code cho phù hợp chứ
Dùng cái này:
Mã:
Private Sub Worksheet_Change(ByVal Target As Range)
  Dim Rng As Range, PicName As String
  Application.ScreenUpdating = False
  On Error Resume Next
  If Not Intersect(Range("A6:A100"), Target) Is Nothing Then
    If Target.Count = 1 Then
      PicName = Target.Address(0, 0)
      ActiveSheet.Pictures(PicName).Delete
      With ActiveSheet.Pictures.Insert(ThisWorkbook.Path & "\" & Target.Value & ".jpg")
       .ShapeRange.LockAspectRatio = False
       .Name = PicName
       .Left = Target.Offset(, 3).Left: .Top = Target.Offset(, 3).Top
       .Width = Target.Offset(, 3).Width: .Height = Target.Offset(, 3).Height
     End With
   End If
  End If
End Sub
Thày cho hỏi : Liệu thày có thể viết code để phóng to ảnh khi kích chuột và trở lại bình thường khi di chuyển chuột ra khỏi ảnh không ạ ?
 
Da thua anh, Vi sao khi in ra hinh anh lai ko hien duoc len vay anh? Em co 1 VBA nay nhung ko biet chay nhu the nao anh co the giai thich va chi giup em, sau khi cai dat VBA nay thi em nen dung cong thuc nao de chay duoc khong ah? Em cam on anh

Function LOT_PIC_PAC(LOT As String, DESTINATION_CELLS As Range, Optional PIC_BORDER As Boolean, Optional PIC_SHADOW As Boolean, Optional ENFORCE_SIZE As Boolean)
LOT_PIC_PAC = "Pic " & LOT

On Error GoTo SKIPIF
If DESTINATION_CELLS.Parent.Shapes(DESTINATION_CELLS.Address).AlternativeText = LOT Then Exit Function
DESTINATION_CELLS.Parent.Shapes(DESTINATION_CELLS.Address).Delete
SKIPIF:


Dim LFT As Double, TP As Double, WDTH As Double, HGT As Double, PIC As Object, i%
Dim FILEPATH(0 To 7) As String, PIC_NAME$
On Error GoTo 0
On Error GoTo EndIt
If LOT <> "0" Then
LFT = DESTINATION_CELLS.Left
TP = DESTINATION_CELLS.Top
WDTH = DESTINATION_CELLS.Width * 0.98
If DESTINATION_CELLS.Rows.Count > 1 Then WDTH = WorksheetFunction.Min(WDTH, DESTINATION_CELLS.Height / 1.41)
HGT = WDTH * 1.41
If ENFORCE_SIZE = True Then
WDTH = DESTINATION_CELLS.Width * 0.98
HGT = DESTINATION_CELLS.Height
End If
FILEPATH(0) = "\\OANH-PC\D:\Oanh Vo\1a.Payless\13.Shipment\Tracking List\ NoPicture.JPG"
If VBA.Environ("Username") = "Hoang Oanh" Then

FILEPATH(1) = "\\OANH-PC\D:\Oanh Vo\1a.Payless\13.Shipment\Tracking List\"

Else

FILEPATH(1) = "\\OANH-PC\ D:\Oanh Vo\1a.Payless\13.Shipment\Tracking List\"
End If
FILEPATH(2) = "\\OANH-PC\D:\Oanh Vo\1a.Payless\13.Shipment\Tracking List\"
FILEPATH(3) = "\\OANH-PC\D:\Oanh Vo\1a.Payless\13.Shipment\Tracking List\"
FILEPATH(4) = "\\OANH-PC\D:\Oanh Vo\1a.Payless\13.Shipment\Tracking List\"
FILEPATH(5) = "\\OANH-PC\D:\Oanh Vo\1a.Payless\13.Shipment\Tracking List\"
FILEPATH(6) = "\\OANH-PC\D:\Oanh Vo\1a.Payless\13.Shipment\Tracking List\"
FILEPATH(7) = "\\OANH-PC\D:\Oanh Vo\1a.Payless\13.Shipment\Tracking List\"

For i = 1 To UBound(FILEPATH, 1)
If VBA.IsNumeric(LOT) = True Then
PIC_NAME = Dir(FILEPATH(i) & Format(LOT, "000000") & "*")
Else
PIC_NAME = Dir(FILEPATH(i) & LOT & "*")
End If
If PIC_NAME <> "" Then
FILEPATH(0) = FILEPATH(i) & PIC_NAME
Exit For
End If
PIC_NAME = Dir(FILEPATH(i) & LOT & "*")
If PIC_NAME <> "" Then
FILEPATH(0) = FILEPATH(i) & PIC_NAME
Exit For
End If
If i = UBound(FILEPATH, 1) Then LOT_PIC_PAC = "Pic " & LOT & " not found"
Next i
On Error GoTo EndIt
If VBA.Right(FILEPATH(0), 4) = ".xls" Then GoTo EndIt
Set PIC = DESTINATION_CELLS.Parent.Shapes.AddPicture(FILEPATH(0), False, True, LFT, TP, WDTH, HGT)
PIC.Name = DESTINATION_CELLS.Address
PIC.AlternativeText = LOT
If PIC_BORDER = True Then PIC.DrawingObject.ShapeRange.Line.DashStyle = msoLineSolid
If PIC_SHADOW = True Then PIC.Shadow.Visible = True
End If
EndIt:
On Error GoTo 0
End Function
 
Bác Ndu ơi hình thì cò rồi nhưng in ra không có, bác chỉ cho em làm cách nào để khi ra có hình với.
em cảm ơn nhiều.
 
Xin chào mọi người. xin các pro giúp đỡ. em muốn chèn ảnh tự động từ các file ảnh trên máy tính của mình vào excel 2010. nhưng em không biết làm thế nào cả. các bác pro gúp em với nhé. thanks all? em đang làm giùm ông anh chèn ảnh nghiệm thu vào file. mà copy chèn từng ảnh thủ công lâu quá.
 

File đính kèm

Bác có thể giải thích nghĩa các dòng lệnh đc k ạ,em làm theo tương tự trên sheet mới nhưng không đc, nó báo k hiển thị được hình ảnh. Cảm ơn bác
 
Em chào anh ndu96081631 ạ!
E
m có xem các bài viết của Anh nhưng vẫn chưa biết cách làm. Em muốn nhờ Anh giúp đỡ giải thích giúp em cách chèn ảnh vào bảng tính, khi thay đổi mã ID thì ảnh cũng thay đổi theo ... :)

Bảng của em đây ạ, rất mong được giúp đỡ !
 

File đính kèm

Em chào anh ndu96081631 ạ!
E
m có xem các bài viết của Anh nhưng vẫn chưa biết cách làm. Em muốn nhờ Anh giúp đỡ giải thích giúp em cách chèn ảnh vào bảng tính, khi thay đổi mã ID thì ảnh cũng thay đổi theo ... :)

Bảng của em đây ạ, rất mong được giúp đỡ !
 
Em chào anh ndu96081631 ạ!
E
m có xem các bài viết của Anh nhưng vẫn chưa biết cách làm. Em muốn nhờ Anh giúp đỡ giải thích giúp em cách chèn ảnh vào bảng tính, khi thay đổi mã ID thì ảnh cũng thay đổi theo ... :)

Bảng của em đây ạ, rất mong được giúp đỡ !

Bạn xem bài viết tại đây nhé:
http://www.giaiphapexcel.com/forum/showthread.php?51408-Chèn-hình-vào-cell-bằng-hàm-tự-tạo
 
Em chào các anh chị,

Em có 1 file báo cáo. Em muốn chèn ảnh tự động vào cho file báo cáo này.
Tất cả ảnh được lưu với code của mã hàng tương ứng.
Có anh chị nào biết cách chèn ảnh tự động thì chỉ giúp em với.
Em có gửi file đính kèm, anh chị xem và giúp em với. Em đang cần gấp. Em cảm ơn anh chị nhiều.
 

File đính kèm

Em chào các anh chị,

Em có 1 file báo cáo. Em muốn chèn ảnh tự động vào cho file báo cáo này.
Tất cả ảnh được lưu với code của mã hàng tương ứng.
Có anh chị nào biết cách chèn ảnh tự động thì chỉ giúp em với.
Em có gửi file đính kèm, anh chị xem và giúp em với. Em đang cần gấp. Em cảm ơn anh chị nhiều.

- Chèn code dưới đây vào trong module:
Mã:
Function CommPic(ByVal Pic As String, Optional ByVal Cel As Range) As String
  Dim mRng As Range, comm As Comment, FSO As Object
  On Error Resume Next
  Application.Volatile
  Set FSO = CreateObject("Scripting.FileSystemObject")
  If Cel Is Nothing Then Set Cel = Application.ThisCell
  Cel(1, 1).Comment.Delete
  If Not FSO.FileExists(Pic) Then
    Pic = ThisWorkbook.Path & "\" & Pic
  End If
  If FSO.FileExists(Pic) Then
    If Cel(1, 1).Comment Is Nothing Then Cel(1, 1).AddComment
    Cel(1, 1).Comment.Text vbLf
    Set mRng = Cel(1, 1).MergeArea
    If mRng Is Nothing Then Set mRng = Cel(1, 1)
    Set comm = mRng(1, 1).Comment
    comm.Visible = True
    With comm.Shape
      .LockAspectRatio = msoFalse
      .Placement = xlMoveAndSize
      .Shadow.Visible = msoFalse
      .Line.Visible = msoFalse
      .AutoShapeType = msoShapeRectangle
      .Left = mRng.Left: .Top = mRng.Top
      .Width = mRng.Width: .Height = mRng.Height
      .Fill.UserPicture Pic
    End With
  End If
  Set FSO = Nothing
End Function
- Trên bảng tính, gõ vào cell D4 công thức:
Mã:
=CommPic(C4&".png")
Kéo fill xuống!
- Lưu file theo định dạng XLSM hoặc XLSB
Xong!
-----------------
Cuối cùng, nếu muốn tìm hiểu, nên vào chỗ này tham khảo:
http://www.giaiphapexcel.com/forum/showthread.php?51408-Chèn-hình-vào-cell-bằng-hàm-tự-tạo
 

File đính kèm

- Chèn code dưới đây vào trong module:
Mã:
Function CommPic(ByVal Pic As String, Optional ByVal Cel As Range) As String
  Dim mRng As Range, comm As Comment, FSO As Object
  On Error Resume Next
  Application.Volatile
  Set FSO = CreateObject("Scripting.FileSystemObject")
  If Cel Is Nothing Then Set Cel = Application.ThisCell
  Cel(1, 1).Comment.Delete
  If Not FSO.FileExists(Pic) Then
    Pic = ThisWorkbook.Path & "\" & Pic
  End If
  If FSO.FileExists(Pic) Then
    If Cel(1, 1).Comment Is Nothing Then Cel(1, 1).AddComment
    Cel(1, 1).Comment.Text vbLf
    Set mRng = Cel(1, 1).MergeArea
    If mRng Is Nothing Then Set mRng = Cel(1, 1)
    Set comm = mRng(1, 1).Comment
    comm.Visible = True
    With comm.Shape
      .LockAspectRatio = msoFalse
      .Placement = xlMoveAndSize
      .Shadow.Visible = msoFalse
      .Line.Visible = msoFalse
      .AutoShapeType = msoShapeRectangle
      .Left = mRng.Left: .Top = mRng.Top
      .Width = mRng.Width: .Height = mRng.Height
      .Fill.UserPicture Pic
    End With
  End If
  Set FSO = Nothing
End Function
- Trên bảng tính, gõ vào cell D4 công thức:
Mã:
=CommPic(C4&".png")
Kéo fill xuống!
- Lưu file theo định dạng XLSM hoặc XLSB
Xong!
-----------------
Cuối cùng, nếu muốn tìm hiểu, nên vào chỗ này tham khảo:
http://www.giaiphapexcel.com/forum/showthread.php?51408-Chèn-hình-vào-cell-bằng-hàm-tự-tạo



Cảm ơn anh nhiều. Anh có cách nào để lưu file ở dang xls thông thường thay vì xlsb không ạ?
 
Cảm ơn anh nhiều. Anh có cách nào để lưu file ở dang xls thông thường thay vì xlsb không ạ?

Lưu thành xls đương nhiên được rồi! Sao bạn không thí nghiệm trước khi hỏi?
(Tôi đề nghị lưu thành xlsm và xlsb vì định dạng này sẽ giảm dung lượng cho file)
 
chèn hình tự độ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

sao minh cung chèn hinh giong file nay ma hi go hinh k ra vay? troi oi tieng viet go k dc.
 
Kính gửi thầy ndu96081631 ,

Em có nghiên cứu các bài của thầy về "tự động insert ảnh và cell" em thấy:
- phần lớn nhu cầu của mọi người cũng như em là: căn cứ vào mã sản phẩm (đồng thời là tên ảnh) tại cột mã hàng -> tự động insert ảnh vào cell trong cột ảnh (phục vụ báo giá, quản lý danh mục hàng....)
- vấn đề là: ảnh sản phẩm không đồng nhất về kích thước nên khi áp dụng code thầy cho, ảnh fill vào sell làm cho hình ảnh bị méo mó -> ko đảm bảo mục tiêu mô tả sản phẩm; Ảnh không được đặt theo dạng Middle + center trong cell -> không đạt tính thẩm mỹ
Em rất mong thầy giúp em mấy vấn đề trên ạ!



 
Kính gửi thầy ndu96081631 ,

Em có nghiên cứu các bài của thầy về "tự động insert ảnh và cell" em thấy:
- phần lớn nhu cầu của mọi người cũng như em là: căn cứ vào mã sản phẩm (đồng thời là tên ảnh) tại cột mã hàng -> tự động insert ảnh vào cell trong cột ảnh (phục vụ báo giá, quản lý danh mục hàng....)
- vấn đề là: ảnh sản phẩm không đồng nhất về kích thước nên khi áp dụng code thầy cho, ảnh fill vào sell làm cho hình ảnh bị méo mó -> ko đảm bảo mục tiêu mô tả sản phẩm; Ảnh không được đặt theo dạng Middle + center trong cell -> không đạt tính thẩm mỹ
Em rất mong thầy giúp em mấy vấn đề trên ạ!



Tham khảo thêm chỗ này:
http://www.giaiphapexcel.com/forum/showthread.php?51408-Chèn-hình-vào-cell-bằng-hàm-tự-tạo
Chú ý code trong bài 112 nhé (đó là phiên bản mới nhất)
 
Kính gửi thầy ndu96081631

Em đã tham khảo phần chèn hình vô excel nhưng khi làm xong thì hình không hiện ra mà báo như thế này nhờ thầy giúp em cái.
"the linked image cannot be displayed the file may have been moved renamed or deleted verify that the link points to the correct file and location"

Trong file em có 2 sheet
Sheet 1 là 1 form và cần phải điền nhiều thông tin
Sheet 2 chứa toàn bộ thông tin cần điền cho form của sheet 1.
Em đánh số thứ tự thông tin: 1, 2, 3..... Tại sheet 1 em dùng lệnh Vlookup để điền thông tin vào form. Và khi cần thông tin nào thì em chỉ việc đánh số thứ tự vào là xong.
Hiện nay, do phải cập nhật cả phần hình ảnh vào trong Form của sheet 1 nhưng em không biết có cách nào để đưa được ảnh vào 1 cách tự động mà ko phải insert từng cái 1. Ví dụ: Khi em đánh số thứ tự 1 vào thì thông tin và hình ảnh của data 1 sẽ hiển thị, khi đánh số 2 vào thì thông tin và hình ảnh của data 2 sẽ hiển thị.
Nhờ thầy giúp giùm em.
 

File đính kèm

em muốn cho size ảnh to lên thì làm cách nào ạ? e tải file mẫu về thì nhìn hình ảnh hơi nhỏ nên e muốn chỉnh cho to lên ạ
 
Nhờ anh chị GPE giúp đỡ về chèn hình vào excel. Dữ liệu ở dưới ạ
Cảm ơn các anh chị GPE trước
 

File đính kèm

*** em đã làm được.
Chân thành cảm ơn các bác.


-------------
Các bác cho em đào cái chủ đề này lên với ạ.
TÌnh hình là em làm theo hướng dẫn (copy và chỉnh sơ sơ mấy cái địa chỉ của đoạn code của bác ndu96081631 tại #5) nhưng không thể hiện hình được.
Nhờ các bác sửa giúp em, được thì nhờ các bác chỉ chỗ sai và ý nghĩa giúp em với ạ.
Em xin cảm ơn ạ.
 

File đính kèm

Lần chỉnh sửa cuố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

Cảm ơn bác rất nhiều, em đã làm được.
Cảm ơn bác.
 
Cảm ơn bạn. Mình đã làm theo hướng dẫn được rồi.
Xin cho hỏi là làm thế nào để chèn ảnh lên trên chứ không phải sang ngang như hiện nay.

Đã thử chỉnh sửa code nhưng mà trình độ vẫn còn hạn hẹp mong bạn giúp cho.
 
Cho mình hỏi chút:
Mình cũng tương tự bạn #1, nhưng file ảnh của mình trong folder(vì nhiều file) thì có cách nào để khi mình nhập stt thì ảnh cũng được lấy trong folder và hiển thị không ạ?
Mình cảm ơn !
 
đâu nhất thiết cứ phải VBA để chèn ảnh nhỉ

Xin được hỏi anh mấy vấn đề.
1.Nguyên tắc để hiện ảnh là thế nào nhỉ. (Nếu ta muốn áp dụng cho file mới).
2. Với các ảnh kích thước khác nhau. Làm sao để khi hiện ảnh nó hiện đầy trong khung ảnh.
 
Các cao thủ giúp em với, em làm file báo cáo này ở sheet PD em cần chèn chữ ký tự động của 2 người vào ô N29 và AK27 chữ ký em để trong sheet PD luôn. Giúp em với nhé
 

File đính kèm

hi mn. e có mày mò làm cái file báo cáo công việc cần chèn hình ảnh . lý do là e mù excel quá nhờ các ace xử lý hay hướng dẫn giúp e vs. e có đính kèm tiệp hình ảnh. e cảm ơn
 
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)
e có file nội dung muốn chèn hình như trên nhưng e íu phần code quá mong a chỉnh sữa giúp e file này với ạ. cảm ơn anh trước
 
cái này bạn đã xử lý được chưa bạn
Thì cái này chỉnh sửa không phải là đường link nữa mà là đính kèm luôn trên File.Bạn vào kênh tin học phong an trên youtube có mấy video hướng dẫn cái này nhé.
 

Thầy ndu96081631 giúp em file này với ạ​

- Em muốn hình vẽ bên Data vẽ ở 4 cột thì sang bên sheet 2 dữ liệu ra cũng nằm trong phạm vi 4 cột (hoặc theo số cột bên sheet Data).
- Em muốn nhập giá trị vào các ô dưới các đoạn thẳng trong hình bên Sheet2 nhưng khi click vào ô thì hình nó hiện lên
Em cảm ơn thầy nhiều ạ
 

File đính kèm

Thầy ndu96081631 giúp em file này với ạ​

- Em muốn hình vẽ bên Data vẽ ở 4 cột thì sang bên sheet 2 dữ liệu ra cũng nằm trong phạm vi 4 cột (hoặc theo số cột bên sheet Data).
- Em muốn nhập giá trị vào các ô dưới các đoạn thẳng trong hình bên Sheet2 nhưng khi click vào ô thì hình nó hiện lên
Em cảm ơn thầy nhiều ạ
Kết bạn với nhau đi để cùng làm 1 mẫu chuẩn, rồi chia sẻ cho thế giới.

 

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

Back
Top Bottom