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

Liên hệ QC

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

  • Ktkt linhkien.rar
    27.2 KB · Đọc: 976
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

  • PicFrom.rar
    627.6 KB · Đọc: 4,390
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

  • Ktkt linhkien.xls
    89 KB · Đọc: 2,176
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

  • Bien ban nghiem thu cong hop.xls
    47 KB · Đọc: 193
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
 
Web KT
Back
Top Bottom