Có thể bạn quan tâm: Cách Bỏ Dấu Tiếng Việt Trong Excel: Hướng Dẫn Từng Bước Chi Tiết
Mở đầu: Tại sao cần chèn ảnh vào ô Excel?
Excel không chỉ là công cụ tính toán và phân tích dữ liệu mạnh mẽ, mà còn là một nền tảng linh hoạt để trình bày thông tin một cách trực quan. Khi làm việc với danh sách sản phẩm, báo cáo bán hàng, quản lý kho, hay thậm chí là hồ sơ nhân sự, việc đưa hình ảnh trực quan vào từng ô sẽ giúp:
- Tăng tính thẩm mỹ: Bảng tính trở nên sinh động, dễ nhìn hơn.
- Cải thiện truyền đạt: Người xem nhanh chóng nhận diện sản phẩm, nhân viên, hay bất kỳ đối tượng nào mà hình ảnh đại diện.
- Tiết kiệm không gian: Thay vì mở một tài liệu ảnh riêng, mọi thông tin đều gói gọn trong cùng một file Excel.
- Hỗ trợ quyết định: Khi so sánh các mặt hàng, hình ảnh giúp người dùng đưa ra quyết định nhanh hơn.
Vậy làm sao để chèn ảnh vào ô một cách chuẩn xác, không làm hỏng bố cục và vẫn giữ được tính linh hoạt khi di chuyển, sao chép hay lọc dữ liệu? Bài viết dưới đây sẽ cung cấp toàn bộ quy trình, từ cách chèn ảnh đơn lẻ, chèn ảnh hàng loạt, tới việc sử dụng VBA để tự động hoá quá trình này. Ngoài ra, chúng tôi cũng sẽ giới thiệu một số mẹo “thủ thuật” giúp ảnh luôn khóa kích thước và đi kèm với nội dung ô khi thực hiện các thao tác chỉnh sửa bảng tính.
Có thể bạn quan tâm: Bài Tập Excel Lớp 7: Hướng Dẫn Chi Tiết, Bài Giải Từng Bước Và Những Lưu Ý Quan Trọng
1. Chuẩn bị môi trường làm việc
1.1. Kiểm tra phiên bản Excel
Các phương pháp dưới đây áp dụng cho:
- Excel 2026, 2026, 2026, 2026, Office 365 (các tính năng gần như giống nhau).
- Excel cho Mac (có một vài khác biệt nhỏ trong giao diện, nhưng nguyên tắc chung vẫn giữ nguyên).
- Excel Online (hạn chế trong việc chèn ảnh hàng loạt, nhưng vẫn có cách thủ công).
Nếu bạn đang dùng Google Sheets, quy trình sẽ khác và không nằm trong phạm vi bài viết này.
1.2. Định dạng ảnh đề xuất
- Định dạng: PNG hoặc JPEG. PNG hỗ trợ trong suốt, JPEG nén tốt cho ảnh có nhiều màu sắc.
- Kích thước: Để tránh làm file Excel nặng, nên giảm kích thước ảnh về khoảng 100×100 pixel (hoặc tùy vào mục đích hiển thị). Có thể dùng công cụ trực tuyến như TinyPNG hay Photoshop để nén.
- Tên file: Đặt tên ngắn gọn, tránh ký tự đặc biệt, giúp việc lập trình (VBA) dễ dàng hơn.
Có thể bạn quan tâm: Tính Độ Lệch Chuẩn Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
2. Cách chèn ảnh vào ô một cách thủ công
2.1. Phương pháp “Insert Picture” + “Resize to Cell”
- Chọn ô mà bạn muốn đặt ảnh (ví dụ A2).
- Vào Insert → Pictures → This Device (hoặc From File).
- Duyệt tới vị trí ảnh, chọn và Insert.
- Ảnh sẽ xuất hiện trên sheet, không nằm trong ô mà là một object trôi nổi.
- Để đưa ảnh vào ô:
- Kéo ảnh sao cho góc trên‑trái của ảnh trùng với góc trên‑trái của ô.
- Nhấn Ctrl + 1 (hoặc chuột phải → Format Picture) → Size & Properties → bật Move and size with cells. Khi bật tùy chọn này, ảnh sẽ co lại/giãn ra khi thay đổi kích thước ô.
- Resize ảnh cho vừa với ô:
- Đặt chiều rộng và chiều cao của ô (Right‑click → Column Width / Row Height) sao cho khớp với kích thước ảnh.
- Hoặc dùng Format Picture → Size để nhập kích thước cụ thể (ví dụ 80pt × 80pt).
Lưu ý: Khi bạn sao chép (Ctrl + C) và dán (Ctrl + V) ô này, ảnh sẽ được sao chép kèm, nhưng nếu chỉ sao chép giá trị ô (Paste → Values) thì ảnh sẽ không xuất hiện.
2.2. Sử dụng công cụ “Camera” để chụp vùng có ảnh
Nếu bạn muốn chụp nhanh một vùng có chứa ảnh và đặt lại ở vị trí khác:
- Thêm Camera vào thanh Ribbon: File → Options → Customize Ribbon → chọn “All Commands”, kéo “Camera” vào một tab tùy chỉnh.
- Chọn ô (hoặc vùng) chứa ảnh đã chèn.
- Nhấn Camera, con trỏ sẽ biến thành dấu “+”.
- Click vào vị trí muốn dán ảnh. Ảnh sẽ hiển thị dưới dạng Picture Object, tự động liên kết với ô gốc (cập nhật khi ô gốc thay đổi).
2.3. Đặt ảnh làm “Background” của ô (không đề xuất)
Excel không hỗ trợ trực tiếp đặt ảnh làm nền ô. Tuy nhiên, bạn có thể:
- Sử dụng Conditional Formatting kết hợp với Icon Set để hiển thị biểu tượng.
- Hoặc chèn Shape (hình chữ nhật) vào ô, đặt ảnh làm fill, rồi đặt Shape dưới Text (Right‑click → Send to Back). Cách này phức tạp và không thực sự “đặt ảnh vào ô”.
3. Chèn ảnh hàng loạt (Bulk Insert) – Khi có hàng trăm, nghìn ảnh
Khi làm việc với danh sách sản phẩm có hàng trăm ảnh, việc chèn thủ công sẽ tốn thời gian. Dưới đây là 2 cách chính:
3.1. Dùng Power Query (Get & Transform)
Power Query cho phép kéo dữ liệu từ thư mục và hiển thị ảnh trong bảng:
- Chuẩn bị thư mục ảnh: Đặt tất cả ảnh trong một thư mục, đặt tên file sao cho trùng khớp với giá trị trong cột (ví dụ cột “Mã SP” =
SP001, ảnh có tênSP001.jpg). - Vào Data → Get Data → From File → From Folder.
- Chọn thư mục chứa ảnh → Transform Data.
- Power Query sẽ tạo bảng gồm các cột:
Name,Extension,Date accessed,Content(binary). - Xóa các cột không cần (Extension, Date, …) và đổi tên cột
NamethànhMã SP. - Load bảng này vào một sheet (ví dụ “Images”).
- Quay lại sheet chứa dữ liệu chính (ví dụ “Bảng Sản Phẩm”), kết nối hai bảng bằng Merge Queries dựa trên
Mã SP. - Khi merge xong, mở cột
Content→ Add Custom Column → nhập công thức:m =Excel.CurrentWorkbook(){Name="Images"}Content{Mã SP=Mã SP}Content
(công thức này trả về binary data của ảnh tương ứng). - Load lại bảng. Khi bạn định dạng cột
Contentthành Data Type = Image, Excel sẽ hiển thị ảnh trực tiếp trong ô.
Ưu điểm: Ảnh được nhúng trực tiếp vào ô dưới dạng binary, không phụ thuộc vào đường dẫn. Khi chia sẻ file, ảnh sẽ luôn hiện ra.
Nhược điểm: Dễ làm file Excel nặng, và cần Excel 365 hoặc 2026 trở lên mới hỗ trợ hiển thị ảnh binary.
3.2. Sử dụng VBA để tự động chèn ảnh
Đối với các phiên bản Excel không hỗ trợ Power Query hiển thị ảnh, VBA là giải pháp mạnh mẽ.
3.2.1. Mã VBA cơ bản
Giả sử:
- Cột A chứa Mã SP.
- Ảnh nằm trong thư mục
C:\Images\, tên file là<Mã SP>.jpg. - Bạn muốn chèn ảnh vào cột B (ô B2, B3,…).
Sub InsertPicturesIntoCells() Dim ws As Worksheet Dim rng As Range, cell As Range Dim picPath As String Dim pic As Shape Set ws = ThisWorkbook.Sheets("Sheet1") ' Thay "Sheet1" bằng tên sheet của bạn Set rng = ws.Range("A2:A" & ws.Cells(ws.Rows.Count, "A").End(xlUp).Row) ' Dòng dữ liệu For Each cell In rng picPath = "C:\Images\" & cell.Value & ".jpg" ' Đường dẫn ảnh If Dir(picPath) <> "" Then ' Kiểm tra ảnh tồn tại ' Xóa ảnh cũ nếu đã tồn tại trong ô On Error Resume Next ws.Shapes("Img_" & cell.Row).Delete On Error GoTo 0 Set pic = ws.Shapes.AddPicture(Filename:=picPath, _ LinkToFile:=msoFalse, _ SaveWithDocument:=msoCTrue, _ Left:=cell.Offset(0, 1).Left, _ Top:=cell.Top, _ Width:=-1, Height:=-1) ' Đặt tên cho ảnh để quản lý dễ dàng pic.Name = "Img_" & cell.Row ' Đặt thuộc tính Move and size with cells pic.Placement = xlMoveAndSize ' Tự động co ảnh vừa ô (giả sử chiều rộng cột B là 100pt) With pic .LockAspectRatio = msoTrue .Width = cell.Offset(0, 1).Width 0.9 ' 90% chiều rộng ô .Top = cell.Top + (cell.Height - .Height) / 2 ' Căn giữa dọc .Left = cell.Offset(0, 1).Left + (cell.Offset(0, 1).Width - .Width) / 2 End With End If Next cell
End Sub
Giải thích các dòng quan trọng:
ws.Shapes.AddPicturechèn ảnh dưới dạng Shape.Placement = xlMoveAndSizelàm cho ảnh di chuyển và co lại/giãn ra cùng với ô.LockAspectRatio = msoTruegiữ tỷ lệ gốc, tránh bị méo.cell.Offset(0, 1)là ô bên phải (cột B) – nếu muốn chèn vào cùng ô, dùngcell.
3.2.2. Chèn ảnh vào cùng ô (đặt ảnh phía trên giá trị văn bản)
Nếu bạn muốn ảnh đè lên nội dung ô (ví dụ ảnh sản phẩm + tên sản phẩm), bạn có thể:
- Đặt Wrap Text cho ô.
- Sử dụng
TopvàLeftnhư trên, nhưng không thay đổiZOrder. Để ảnh nằm trước văn bản, dùng:vba pic.ZOrder msoBringToFront
3.2.3. Tự động cập nhật khi thay đổi danh sách
Bạn có thể gắn macro trên vào Worksheet_Change để khi người dùng nhập hoặc thay đổi mã SP, ảnh sẽ tự động được cập nhật:
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Me.Range("A:A")) Is Nothing Then Call InsertPicturesIntoCells End If
End Sub
Lưu ý: Đặt macro này trong Sheet module, không phải trong Module chuẩn.
3.3. Sử dụng Add‑in “Kutools for Excel”

Có thể bạn quan tâm: Bỏ Read‑only Trong Excel: Hướng Dẫn Chi Tiết Từng Bước Để Giải Quyết Mọi Vấn Đề
Nếu bạn không muốn viết code, Kutools (một add‑in trả phí) cung cấp tính năng Insert Picture in Cell cho phép chọn một dải ô và một thư mục ảnh, tự động chèn ảnh tương ứng. Giao diện thân thiện, nhưng vẫn cần chuẩn bị tên file trùng khớp.
4. Kiểm soát kích thước và vị trí ảnh – Các tùy chỉnh nâng cao
4.1. Khóa kích thước ảnh
Sau khi chèn, nếu người dùng kéo cột/row, ảnh sẽ tự co lại/giãn ra (đúng ý). Tuy nhiên, khi người dùng kéo ảnh trực tiếp, kích thước có thể bị thay đổi. Để ngăn chặn:
pic.LockAspectRatio = msoTrue
pic.Height = 80 ' Đặt chiều cao cố định (pt)
pic.Width = 80
pic.Placement = xlMoveAndSize
Hoặc trong giao diện:
- Click chuột phải vào ảnh → Size and Properties → Properties → chọn Move and size with cells.
- Bỏ tick Allow editing directly in cell (đối với Excel 365 mới).
4.2. Đặt ảnh ở giữa ô (Horizontal & Vertical Center)
With pic .Top = cell.Top + (cell.Height - .Height) / 2 .Left = cell.Left + (cell.Width - .Width) / 2
End With
Nếu muốn ảnh luôn căn giữa bất kể người dùng thay đổi kích thước ô, cần chạy macro trong sự kiện Worksheet_Change hoặc Worksheet_SelectionChange để cập nhật vị trí.
4.3. Thêm tooltip (chuột rê) cho ảnh
Bạn có thể gán Alt Text cho ảnh, hiển thị khi người dùng di chuột:
pic.AlternativeText = "Mã SP: " & cell.Value
Khi di chuột lên ảnh, Excel sẽ hiển thị mô tả (trong Excel mới, có hiển thị như “ScreenTip”).
4.4. Định dạng ảnh (cắt, bo tròn, bóng đổ)
Trong Format Picture → Picture Effects → Soft Edges, Glow, Shadow, bạn có thể:
- Cắt: Chọn Crop để loại bỏ phần không cần.
- Bo tròn: Trong Shape Options, chọn Rounded Rectangle và điều chỉnh radius.
- Bóng đổ: Thêm Shadow để ảnh nổi bật hơn.
Bạn cũng có thể dùng VBA để áp dụng nhanh:
pic.PictureFormat.CropLeft = 0.05 ' Cắt 5% bên trái
pic.PictureFormat.CropRight = 0.05
pic.PictureFormat.CropTop = 0.05
pic.PictureFormat.CropBottom = 0.05
5. Xử lý vấn đề thường gặp
| Vấn đề | Nguyên nhân | Giải pháp |
|---|---|---|
| Ảnh không di chuyển khi thay đổi kích thước ô | Thuộc tính Placement chưa được đặt thành xlMoveAndSize. | Click ảnh → Format Picture → Properties → chọn Move and size with cells. |
| File Excel quá nặng | Ảnh có độ phân giải cao, hoặc chèn nhiều ảnh mà không nén. | Nén ảnh trước khi chèn, hoặc sử dụng link thay vì embed (đặt LinkToFile:=msoTrue trong VBA). |
| Ảnh không hiển thị khi mở trên máy khác | Đường dẫn ảnh là absolute và máy không có cùng thư mục. | Dùng SaveWithDocument:=msoCTrue để lưu ảnh trong file, hoặc dùng Power Query binary. |
| Ảnh bị lệch khi in | Cài đặt in “Fit to page” làm thay đổi tỉ lệ ô. | Kiểm tra Print Area và Page Layout → Scale to Fit; đảm bảo ảnh có Placement = xlMoveAndSize. |
| Không thể sao chép ảnh cùng với dữ liệu | Dùng “Paste Values” thay vì “Paste”. | Chọn Paste → Keep Source Formatting hoặc Ctrl + C, Ctrl + V bình thường. |
6. Các trường hợp đặc biệt
6.1. Chèn ảnh vào bảng pivot
PivotTable không cho phép chèn ảnh trực tiếp vào các ô dữ liệu. Tuy nhiên, bạn có thể:
- Thêm cột tính toán trong nguồn dữ liệu gốc chứa đường dẫn ảnh.
- Khi tạo Pivot, kéo trường này vào Values → chọn Max (hoặc First) để giữ lại đường dẫn.
- Sử dụng VBA để duyệt các ô trong Pivot và chèn ảnh dựa trên đường dẫn.
6.2. Chèn ảnh vào Excel Table (ListObject)
Nếu dữ liệu của bạn ở dạng Table, VBA cần lấy ListObject:
Dim lo As ListObject
Set lo = ws.ListObjects("Table1")
Dim rng As Range
Set rng = lo.ListColumns("Mã SP").DataBodyRange ' Vòng lặp tương tự như ở trên, chỉ khác là dùng lo.DataBodyRange để xác định vị trí.
6.3. Sử dụng Dynamic Array (Excel 365) để tự động tạo ảnh
Bạn có thể viết công thức Lambda kết hợp LET, IMAGE (hàm mới trong Excel 365) để hiển thị ảnh từ URL:
=IMAGE("https://myserver.com/img/" & @MãSP & ".jpg", "Alt text", 100, 100)
IMAGElà hàm mới cho phép chèn ảnh từ URL hoặc đường dẫn nội bộ.- Khi dữ liệu thay đổi, ảnh tự động cập nhật.
- Hạn chế: Yêu cầu Excel 365 và kết nối internet nếu dùng URL.
7. Bảo mật và chia sẻ file chứa ảnh
- Kích hoạt macro: Khi chia sẻ file có VBA, người nhận phải bật macro; nếu không, ảnh sẽ không hiển thị.
- Lưu dưới định dạng .xlsx vs .xlsm: Để giữ macro, dùng .xlsm. Nếu không cần macro, có thể chuyển sang .xlsx sau khi chèn ảnh (ảnh sẽ được nhúng vào file).
- Giới hạn kích thước: Microsoft khuyến cáo file Excel không vượt quá 2GB, nhưng thực tế nên giữ dưới 200MB để tránh trễ khi mở.
- Quyền truy cập: Nếu ảnh được link tới thư mục mạng, người nhận cần có quyền truy cập tới đường dẫn đó.
8. Tổng kết – Khi nào nên chèn ảnh vào ô?
| Trường hợp | Phương pháp đề xuất |
|---|---|
| Ít ảnh (dưới 20) | Chèn thủ công → Insert Picture → Move and size with cells |
| Hàng trăm ảnh, tên file trùng với dữ liệu | Power Query (binary) hoặc VBA bulk insert |
| Cần tự động cập nhật khi dữ liệu thay đổi | VBA gắn vào Worksheet_Change hoặc hàm IMAGE (Office 365) |
| Cần chia sẻ file mà không muốn người nhận phải cài ảnh | Nhúng ảnh (SaveWithDocument:=msoCTrue) hoặc dùng Power Query binary |
| Muốn ảnh có hiệu ứng đặc biệt (cắt, bo tròn, bóng đổ) | Chèn thủ công + Format Picture, hoặc VBA áp dụng PictureFormat |
Việc chèn ảnh vào ô không chỉ là một thao tác thẩm mỹ mà còn là cách tối ưu hoá quy trình làm việc, giảm thiểu việc mở nhiều file, và tăng tính trực quan cho người dùng cuối. Bằng cách nắm vững các kỹ thuật từ cơ bản đến nâng cao, bạn có thể:
- Tiết kiệm thời gian (đặc biệt với hàng nghìn ảnh).
- Đảm bảo độ ổn định và tính nhất quán của báo cáo.
- Tạo ra các bảng tính đầy đủ, sạch sẽ, và dễ chia sẻ.
Hy vọng bài viết đã cung cấp đủ kiến thức và công cụ cần thiết để bạn tự tin chèn ảnh vào ô trong Excel một cách chuyên nghiệp. Chúc bạn thành công và đừng quên áp dụng những mẹo “thủ thuật” để nâng tầm các báo cáo của mình!

Tiến sĩ Lê Thống Nhất sinh năm 1955 tại Nghệ An, là nhà giáo, nhà báo và doanh nhân trong lĩnh vực giáo dục. Ông từng giảng dạy Toán học tại Trường THPT Chuyên Phan Bội Châu và đảm nhiệm nhiều vai trò trong ngành giáo dục, từ viết sách, biên soạn tài liệu đến sáng lập các dự án hỗ trợ học tập trực tuyến.
Ông là người sáng lập BigSchool – nền tảng giáo dục trực tuyến kết nối giáo viên và học sinh cả nước. Ngoài ra, ông còn nổi tiếng với vai trò tác giả, diễn giả truyền cảm hứng và khách mời trên nhiều chương trình truyền hình, trong đó có “Ai là triệu phú” trên truyền hình VTV.
Trong suốt sự nghiệp, Tiến sĩ Lê Thống Nhất đã nhận nhiều giải thưởng giáo dục và được biết đến như một người luôn đổi mới, ứng dụng công nghệ vào dạy và học, góp phần lan tỏa tri thức và niềm say mê học tập cho thế hệ trẻ.
