Tôi cần nhúng hình ảnh vào bảng tính qua Excel VBA, chẳng hạn như khi tôi định vị lại tệp excel, hình ảnh sẽ vẫn hiển thị. Tôi có thể làm cái này như thế nào?Nhúng hình ảnh vào bảng tính Excel - VBA
Trả lời
Mã này sẽ chèn một hình ảnh trên bảng hiện tại và vị trí của nó ở tại cell E10:
Set oPic = Application.ActiveSheet.Shapes.AddPicture("d:\temp\mypic.jpg", False, True, 1, 1, 1, 1)
oPic.ScaleHeight 1, True
oPic.ScaleWidth 1, True
oPic.Top = Range("E10").Top
oPic.Left = Range("E10").Left
Bạn có thử sử dụng macro recorder?
Đây là những gì nó được sản xuất cho tôi:
Sub Macro1()
ActiveSheet.Pictures.Insert ("C:\mypicture.jpg")
End Sub
Cũng tấn thông tin sử dụng thuật ngữ tìm kiếm google: "Insert Picture Sử dụng VBA Excel". Mã bên dưới được lấy từ ExcelTiptất cả tín dụng cho tác giả gốc Erlandsen Data Consulting.
Với macro bên dưới, bạn có thể chèn ảnh ở bất kỳ phạm vi nào trong trang tính và chúng sẽ vẫn miễn là ảnh đó vẫn ở vị trí ban đầu.
Hình ảnh có thể được căn giữa theo chiều ngang và/hoặc theo chiều dọc.
Sub TestInsertPicture()
InsertPicture "C:\FolderName\PictureFileName.gif", _
Range("D10"), True, True
End Sub
Sub InsertPicture(PictureFileName As String, TargetCell As Range, _
CenterH As Boolean, CenterV As Boolean)
' inserts a picture at the top left position of TargetCell
' the picture can be centered horizontally and/or vertically
Dim p As Object, t As Double, l As Double, w As Double, h As Double
If TypeName(ActiveSheet) <> "Worksheet" Then Exit Sub
If Dir(PictureFileName) = "" Then Exit Sub
' import picture
Set p = ActiveSheet.Pictures.Insert(PictureFileName)
' determine positions
With TargetCell
t = .Top
l = .Left
If CenterH Then
w = .Offset(0, 1).Left - .Left
l = l + w/2 - p.Width/2
If l < 1 Then l = 1
End If
If CenterV Then
h = .Offset(1, 0).Top - .Top
t = t + h/2 - p.Height/2
If t < 1 Then t = 1
End If
End With
' position picture
With p
.Top = t
.Left = l
End With
Set p = Nothing
End Sub
Với macro bên dưới, bạn có thể chèn ảnh và phù hợp với bất kỳ phạm vi nào trong trang tính.
Sub TestInsertPictureInRange()
InsertPictureInRange "C:\FolderName\PictureFileName.gif", _
Range("B5:D10")
End Sub
Sub InsertPictureInRange(PictureFileName As String, TargetCells As Range)
' inserts a picture and resizes it to fit the TargetCells range
Dim p As Object, t As Double, l As Double, w As Double, h As Double
If TypeName(ActiveSheet) <> "Worksheet" Then Exit Sub
If Dir(PictureFileName) = "" Then Exit Sub
' import picture
Set p = ActiveSheet.Pictures.Insert(PictureFileName)
' determine positions
With TargetCells
t = .Top
l = .Left
w = .Offset(0, .Columns.Count).Left - .Left
h = .Offset(.Rows.Count, 0).Top - .Top
End With
' position picture
With p
.Top = t
.Left = l
.Width = w
.Height = h
End With
Set p = Nothing
End Sub
Chúng tôi chỉ sử dụng giải pháp này, nhưng nó không hoạt động khi hình ảnh bên ngoài được di chuyển hoặc xóa. – danielpiestrak
Sau đó, tại sao không hỏi tôi thay vì bỏ phiếu xuống !! Tôi đã rất vui khi được giúp bạn thêm mã ... – Reafidy
Ồ tôi đã downvoted vì OP đã đề cập rằng các hình ảnh không thể được liên kết để tệp excel có thể được di chuyển nên tôi coi đây là câu trả lời không tốt cho câu hỏi cụ thể này. Xin lỗi, không có hành vi phạm tội có nghĩa là ~ tôi chỉ tham gia trang web này hoạt động khoảng một tuần nay. Có lẽ lần tới tôi sẽ chỉ upvote thôi. – danielpiestrak
- 1. VBA để chèn hình ảnh nhúng excel
- 2. Bảng tính Excel xml - có thể nhúng hình ảnh không?
- 3. Nhập dữ liệu bảng tính Excel vào một bảng tính Excel khác có chứa VBA
- 4. Trích xuất VBA từ bảng tính Excel
- 5. Kết hợp các bảng tính excel vào một bảng tính
- 6. vba: Nhập tệp văn bản vào bảng excel
- 7. Tạo và đặt tên bảng tính trong Excel VBA
- 8. Nhúng hình ảnh vào email
- 9. Truy vấn bảng tính excel của tôi với VBA
- 10. Cách viết bộ sưu tập VBA vào trang tính Excel
- 11. Để thêm hình ảnh vào bảng tính trong iphone
- 12. Nhập trang tính Excel vào Access bằng VBA
- 13. Tìm vị trí hình ảnh trên Excel
- 14. Đặt mã Excel-VBA vào mô-đun hoặc trang tính?
- 15. Nhúng hình ảnh vào phản hồi AJAX
- 16. Tạo một bảng SQL từ Excel VBA
- 17. Cách gửi hình ảnh nhúng trong email từ excel
- 18. Xuất bảng MS Access thông qua VBA sang bảng tính excel trong cùng một thư mục
- 19. Chèn hình ảnh sang Excel VBA, phương pháp Hình thất bại
- 20. Lọc bảng tổng hợp Excel bằng VBA
- 21. EXcel VBA: Excel Macro để tạo bảng trong PowerPoint
- 22. Chuỗi VBA Excel VBA
- 23. Sự kiện thay đổi bảng tính VBA
- 24. Làm thế nào để chèn một hình ảnh vào Excel ở vị trí ô được xác định với VBA
- 25. (Excel VBA) Nếu Giá trị Ô bằng "" Sau đó Hiển thị/Ẩn Hình ảnh
- 26. Tạo một hàm bảng tùy chỉnh trong Excel VBA
- 27. Nhúng bảng excel trong điều khiển người dùng C#
- 28. Excel vba - xlDown
- 29. Cần điều khiển ActiveX để nhúng Excel vào hộp thoại
- 30. Nhúng Hình ảnh Base64
Cảm ơn bạn đã chỉ cho tôi đúng hướng! – danielpiestrak