Cách Xóa Nhiều Hình Ảnh Trong Excel Một Cách Nhanh Gọn Và Hiệu Quả

Trong quá trình làm việc với Microsoft Excel, đặc biệt là khi bạn tạo báo cáo, bản trình bày hay bảng tính có chứa nhiều hình ảnh, việc quản lý và xóa các hình ảnh không còn cần thiết trở nên vô cùng quan trọng. Đôi khi, chúng ta phải đối mặt với hàng chục, thậm chí hàng trăm hình ảnh được chèn vào một file Excel, và việc xóa từng hình một bằng cách click chuột sẽ tốn rất nhiều thời gian và công sức. Bài viết này sẽ cung cấp cho bạn một loạt các phương pháp chi tiết, từ cách sử dụng tính năng sẵn có trong Excel, đến việc áp dụng VBA (Visual Basic for Applications) để tự động hoá quá trình xóa nhiều hình ảnh cùng lúc. Bạn sẽ được hướng dẫn từng bước một, kèm theo các ví dụ thực tế, lưu ý quan trọng và mẹo tối ưu hoá công việc, giúp bạn tiết kiệm thời gian và nâng cao năng suất làm việc.

Mục lục bài viết

1. Tổng Quan Về Các Loại Hình Ảnh Trong Excel

Trước khi bắt đầu xóa, chúng ta cần hiểu rõ các loại hình ảnh mà Excel hỗ trợ, vì mỗi loại có cách tiếp cận khác nhau:

Loại hình ảnhMô tảCách chèn thường dùng
Hình ảnh (Picture)Hình ảnh raster (JPG, PNG, BMP, GIF)Insert → Pictures → This Device
Biểu tượng (Icon)Biểu tượng dạng vectorInsert → Icons
Hình dạng (Shape)Các hình khối cơ bản (hình chữ nhật, hình tròn, mũi tên…)Insert → Shapes
SmartArtĐồ họa minh hoạ thông tinInsert → SmartArt
WordArtVăn bản được thiết kế dạng nghệ thuậtInsert → WordArt
Chart (Biểu đồ)Đồ thị dữ liệuInsert → Chart
Slicer (Bộ lọc)Bộ lọc dữ liệu trong PivotTableInsert → Slicer

Trong hầu hết các trường hợp, khi nói “xóa nhiều hình ảnh” chúng ta thường đề cập tới Picture, Shape, Icon, và SmartArt. Các đối tượng như Chart, Slicer hay PivotTable thường không được coi là “hình ảnh” trong ngữ cảnh này, nhưng nếu bạn muốn xóa chúng, các kỹ thuật VBA dưới đây vẫn áp dụng được.

2. Xóa Nhiều Hình Ảnh Bằng Cách Thủ Công (Sử Dụng Tính Năng Chọn Nhiều)

2.1. Chọn Hình Ảnh Bằng Cách Kéo Chuột

  1. Mở file Excel và chuyển tới sheet chứa hình ảnh cần xóa.
  2. Đưa con trỏ chuột lên vùng trống phía trên hoặc bên trái của các hình ảnh. Khi con trỏ biến thành mũi tên bốn đầu (↔↕), bắt đầu kéo một hình chữ nhật bao quanh toàn bộ hình ảnh.
  3. Khi các hình ảnh được bao quanh bởi một đường viền xanh (đánh dấu đã chọn), nhấn phím Delete hoặc chuột phải → Delete.

Lưu ý: Phương pháp này chỉ hoạt động nếu các hình ảnh không bị “khóa” (Locked) hoặc không nằm trong một Group (nhóm). Nếu chúng được nhóm lại, bạn cần ungroup trước khi xóa.

2.2. Sử Dụng Bảng Đối Tượng (Selection Pane)

Excel cung cấp Selection Pane (Bảng Đối Tượng) giúp bạn xem và quản lý tất cả các đối tượng trên một sheet.

  1. Vào Home → Find & Select → Selection Pane (hoặc nhấn Alt + F10).
  2. Trong bảng hiện ra, bạn sẽ thấy danh sách các đối tượng (Picture 1, Shape 2, …).
  3. Giữ phím Ctrl và click vào từng đối tượng bạn muốn xóa, hoặc Shift + click để chọn một dải liên tiếp.
  4. Nhấn Delete.

2.3. Xóa Tất Cả Hình Ảnh Trong Một Sheet Bằng Cách Chọn Tất Cả Đối Tượng

Nếu bạn muốn xóa tất cả các hình ảnh trên một sheet:

  1. Mở Selection Pane (Alt + F10).
  2. Nhấn Ctrl + A trong bảng để chọn tất cả các đối tượng.
  3. Nhấn Delete.

Cảnh báo: Phương pháp này sẽ xóa mọi đối tượng, bao gồm cả các Shape, Icon, SmartArt, và thậm chí là các Text Box. Hãy chắc chắn rằng bạn không cần bất kỳ đối tượng nào trước khi thực hiện.

3. Sử Dụng Tính Năng “Go To Special” Để Chọn Các Hình Ảnh

Excel có một công cụ mạnh mẽ gọi là Go To Special cho phép bạn chọn các loại đối tượng cụ thể.

  1. Nhấn F5 (hoặc Ctrl + G) → Go To → Special….
  2. Chọn Objects và nhấn OK.
  3. Excel sẽ tự động chọn tất cả các đối tượng (hình ảnh, shape, biểu tượng, …) trên sheet hiện tại.
  4. Nhấn Delete.

Ưu điểm: Nhanh chóng, không cần mở Selection Pane.
Nhược điểm: Cũng sẽ chọn mọi đối tượng, không phân biệt loại.

4. Xóa Nhiều Hình Ảnh Bằng VBA (Macro)

Khi làm việc với file Excel có hàng trăm hay hàng ngàn hình ảnh, việc dùng VBA để tự động hoá quá trình xóa là cách hiệu quả nhất. Dưới đây là các đoạn mã VBA chi tiết, kèm hướng dẫn cách chèn và chạy macro.

4.1. Cách Mở Trình Soạn Thảo VBA

  1. Nhấn Alt + F11 để mở Visual Basic for Applications (VBA) Editor.
  2. Trong Project Explorer, chuột phải vào ThisWorkbook hoặc một Module → Insert → Module.
  3. Dán đoạn mã vào cửa sổ code bên phải.

4.2. Macro Xóa Tất Cả Hình Ảnh (Picture) Trên Tất Cả Các Sheet

Sub DeleteAllPictures() Dim ws As Worksheet Dim pic As Picture Application.ScreenUpdating = False ' Tắt cập nhật màn hình để tăng tốc For Each ws In ThisWorkbook.Worksheets For Each pic In ws.Pictures pic.Delete Next pic Next ws Application.ScreenUpdating = True ' Bật lại cập nhật màn hình MsgBox "Đã xóa tất cả hình ảnh trong toàn bộ workbook.", vbInformation
End Sub

Giải thích:
– ws.Pictures chỉ trả về các đối tượng Picture (hình ảnh raster).
– Application.ScreenUpdating = False giúp macro chạy nhanh hơn bằng cách tạm thời ngừng cập nhật giao diện.

4.3. Macro Xóa Tất Cả Các Shape (Bao Gồm Hình Ảnh, Icon, SmartArt, TextBox)

Sub DeleteAllShapes() Dim ws As Worksheet Dim shp As Shape Application.ScreenUpdating = False For Each ws In ThisWorkbook.Worksheets For Each shp In ws.Shapes shp.Delete Next shp Next ws Application.ScreenUpdating = True MsgBox "Đã xóa tất cả các Shape trong toàn bộ workbook.", vbInformation
End Sub

Lưu ý: Shape bao gồm Picture, SmartArt, Icon, TextBox, Chart, v.v. Nếu bạn chỉ muốn xóa một loại cụ thể, hãy kiểm tra thuộc tính shp.Type.

4.4. Macro Xóa Hình Ảnh Theo Tên Hoặc Kiểu

Nếu bạn chỉ muốn xóa các hình ảnh có tên chứa từ khóa nhất định (ví dụ “Logo”), hoặc chỉ xóa các SmartArt, có thể dùng đoạn mã sau:

Sub DeleteSpecificShapes() Dim ws As Worksheet Dim shp As Shape Application.ScreenUpdating = False For Each ws In ThisWorkbook.Worksheets For Each shp In ws.Shapes ' Xóa nếu là Picture và tên chứa "Logo" If shp.Type = msoPicture Then If InStr(1, shp.Name, "Logo", vbTextCompare) > 0 Then shp.Delete End If End If ' Xóa tất cả SmartArt If shp.Type = msoSmartArt Then shp.Delete End If Next shp Next ws Application.ScreenUpdating = True MsgBox "Xóa các hình ảnh và SmartArt theo tiêu chí đã định.", vbInformation
End Sub

Giá trị msoPicture, msoSmartArt là các hằng số được định nghĩa trong thư viện Microsoft Office Object Library. Bạn có thể tra cứu thêm các loại shape tại:
– msoAutoShape (hình dạng tự động)
– msoCallout (bình luận)
– msoChart (biểu đồ)
– msoGroup (nhóm)

4.5. Macro Xóa Hình Ảnh Chỉ Trong Sheet Được Chọn

Nếu bạn muốn xóa nhanh trong sheet hiện tại:

Sub DeletePicturesInActiveSheet() Dim pic As Picture Application.ScreenUpdating = False For Each pic In ActiveSheet.Pictures pic.Delete Next pic Application.ScreenUpdating = True MsgBox "Đã xóa tất cả hình ảnh trong sheet: " & ActiveSheet.Name, vbInformation
End Sub

4.6. Macro Xóa Các Đối Tượng Được Nhóm (Group)

Khi các hình ảnh được group lại, chúng trở thành một đối tượng Group. Để xóa chúng, bạn cần duyệt qua các Shape và kiểm tra shp.Type = msoGroup.

Sub DeleteAllGroups() Dim ws As Worksheet Dim shp As Shape Application.ScreenUpdating = False For Each ws In ThisWorkbook.Worksheets For i = ws.Shapes.Count To 1 Step -1 ' Lặp ngược để tránh lỗi khi xóa Set shp = ws.Shapes(i) If shp.Type = msoGroup Then shp.Ungroup ' Hoặc shp.Delete nếu muốn xóa cả nhóm End If Next i Next ws Application.ScreenUpdating = True MsgBox "Đã tách (hoặc xóa) tất cả các nhóm trong workbook.", vbInformation
End Sub

Tip: Khi xóa trong vòng lặp, luôn duyệt ngược (từ cuối lên đầu) để tránh bỏ sót đối tượng do chỉ số thay đổi khi một đối tượng bị xóa.

4.7. Macro Xóa Hình Ảnh Dựa Trên Kích Thước (Loại Bỏ Hình Nhỏ/Quá Lớn)

Xóa Nhiều Hình Trong Excel
Xóa Nhiều Hình Trong Excel

Đôi khi bạn muốn loại bỏ các hình ảnh có kích thước không phù hợp (ví dụ hình ảnh quá nhỏ, có thể là biểu tượng không cần thiết).

Sub DeletePicturesBySize() Dim ws As Worksheet Dim shp As Shape Dim minWidth As Double, minHeight As Double minWidth = 20 ' Đơn vị là điểm (points) minHeight = 20 Application.ScreenUpdating = False For Each ws In ThisWorkbook.Worksheets For i = ws.Shapes.Count To 1 Step -1 Set shp = ws.Shapes(i) If shp.Type = msoPicture Then If shp.Width < minWidth Or shp.Height < minHeight Then shp.Delete End If End If Next i Next ws Application.ScreenUpdating = True MsgBox "Đã xóa các hình ảnh có kích thước nhỏ hơn " & minWidth & "x" & minHeight & " points.", vbInformation
End Sub

4.8. Tự Động Gán Nút (Button) Để Xóa Hình Ảnh

Bạn có thể tạo một Button trên sheet để người dùng không cần mở VBA Editor.

  1. Vào Developer → Insert → Button (Form Control).
  2. Vẽ nút trên sheet.
  3. Khi hộp thoại Assign Macro hiện ra, chọn một trong các macro đã tạo (ví dụ DeleteAllPictures).
  4. Đặt tên nút thành “Xóa Tất Cả Hình Ảnh”.

Bây giờ, chỉ cần click nút là các hình ảnh sẽ biến mất ngay lập tức.

5. Các Trường Hợp Đặc Biệt Và Giải Pháp

5.1. Hình Ảnh Được Nhúng Trong Các Ô (Cell)

Khi bạn chèn hình ảnh và đặt nó inside a cell (kéo sao cho góc trên‑trái của hình trùng với góc ô), Excel vẫn coi nó là một Shape độc lập, không phải là nội dung của ô. Do vậy, các phương pháp trên vẫn áp dụng được.

Nếu bạn muốn xóa hình ảnh dựa trên vị trí ô, bạn có thể dùng VBA để kiểm tra TopLeftCell và BottomRightCell của mỗi shape.

Sub DeletePicturesInRange(targetRange As Range) Dim shp As Shape Dim ws As Worksheet Set ws = targetRange.Worksheet For i = ws.Shapes.Count To 1 Step -1 Set shp = ws.Shapes(i) If Not Intersect(shp.TopLeftCell, targetRange) Is Nothing Then shp.Delete End If Next i
End Sub ' Ví dụ sử dụng:
Sub TestDeleteInA1toD10() Call DeletePicturesInRange(ActiveSheet.Range("A1:D10"))
End Sub

5.2. Hình Ảnh Được Liên Kết (Linked) Thay Vì Nhúng

Khi chèn hình ảnh bằng Insert → Pictures → Link to File, Excel chỉ lưu đường dẫn tới file gốc, không thực sự lưu hình ảnh trong file. Khi xóa, hành vi tương tự như hình ảnh nhúng, nhưng nếu file gốc bị di chuyển, hình ảnh sẽ không hiển thị (hiển thị lỗi “#REF!”). Việc xóa không gây ảnh hưởng tới file gốc.

5.3. Xóa Hình Ảnh Trên Các Worksheet Được Bảo Vệ (Protected Sheet)

Nếu sheet được bảo vệ, việc xóa hình ảnh sẽ bị chặn trừ khi bạn mở bảo vệ hoặc cho phép người dùng Edit Objects trong tùy chọn bảo vệ.

Sub DeletePicturesOnProtectedSheet() Dim ws As Worksheet Set ws = ThisWorkbook.Worksheets("Sheet1") ws.Unprotect Password:="mypassword" Call DeleteAllPictures ' Hoặc code xóa tùy chỉnh ws.Protect Password:="mypassword", UserInterfaceOnly:=True
End Sub

5.4. Xóa Hình Ảnh Khi Dùng Excel trên Mac

Trong Excel cho macOS, một số phím tắt (như Alt + F10) không hoạt động. Tuy nhiên, Selection Pane vẫn có thể mở bằng Command + Option + Shift + K (hoặc từ menu Home → Find & Select → Selection Pane). VBA vẫn hoạt động bình thường.

5.5. Xóa Hình Ảnh Khi Đang Sử Dụng Excel Online (Web)

Excel Online không hỗ trợ VBA, nhưng bạn vẫn có thể dùng Selection Pane hoặc Ctrl + A + Delete để xóa nhanh. Nếu cần tự động hoá, bạn có thể tạo Office Script (tương đương với VBA) trong Power Automate.

function main(workbook: ExcelScript.Workbook) { let sheets = workbook.getWorksheets(); for (let sheet of sheets) { let shapes = sheet.getShapes(); // Xóa tất cả các shape for (let i = shapes.length - 1; i >= 0; i--) { shapesi.delete(); } }
}

Cách dùng: Mở Automate → New Script, dán đoạn code trên, chạy. Điều này sẽ xóa toàn bộ hình ảnh trên mọi sheet trong workbook Online.

6. Kiểm Tra Và Đảm Bảo Không Xóa Nhầm Dữ Liệu Quan Trọng

Khi thực hiện xóa hàng loạt, luôn có nguy cơ xóa nhầm các đối tượng cần giữ lại. Dưới đây là một số biện pháp phòng ngừa:

  1. Tạo bản sao lưu (Backup): Trước khi chạy macro, lưu file dưới tên mới (File → Save As).
  2. Kiểm tra trước (Preview): Thay vì xóa ngay, bạn có thể đánh dấu các hình ảnh bằng cách thay đổi màu viền hoặc thêm comment, sau đó xác nhận.
  3. Sử dụng Filter By Name: Nếu các hình ảnh được đặt tên có quy tắc (ví dụ “Img_”, “Logo_”), hãy viết macro chỉ xóa những tên này.
  4. Undo (Hoàn tác): Khi xóa thủ công, bạn có thể nhấn Ctrl + Z để hoàn tác. Tuy nhiên, VBA không hỗ trợ Undo, vì vậy sao lưu là cách an toàn nhất.
  5. Kiểm tra thuộc tính Locked: Nếu một số hình ảnh được Lock, chúng sẽ không bị xóa trừ khi bạn bỏ khóa. Bạn có thể dùng macro để bỏ khóa trước khi xóa:
Sub UnlockAllShapes() Dim ws As Worksheet, shp As Shape For Each ws In ThisWorkbook.Worksheets For Each shp In ws.Shapes shp.Locked = False Next shp Next ws
End Sub

7. Tối Ưu Hóa Workbook Sau Khi Xóa Hình Ảnh

Sau khi loại bỏ hàng loạt hình ảnh, workbook có thể vẫn còn độ nặng do các đối tượng còn lại hoặc metadata. Bạn có thể thực hiện các bước sau để tối ưu:

  1. Compress Pictures: File → Info → Compress Pictures. Chọn độ phân giải phù hợp (150 ppi đủ cho hầu hết báo cáo).
  2. Save As New File: File → Save As và chọn định dạng .xlsx (không phải .xlsb) để giảm kích thước.
  3. Remove Unused Styles/Names: Formulas → Name Manager → xóa các tên không còn sử dụng.
  4. Clear Clipboard: Đôi khi clipboard chứa hình ảnh tạm thời, có thể làm file lớn. Đóng Excel và mở lại để giải phóng.

8. Tổng Kết – Khi Nào Nên Dùng Phương Pháp Nào?

Tình huốngPhương pháp đề xuất
Số lượng hình ảnh ít (≤ 10)Chọn thủ công bằng kéo chuột hoặc Selection Pane
Cần xóa nhanh trên một sheet duy nhấtGo To Special → Objects → Delete
Xóa trên nhiều sheet hoặc toàn workbookMacro DeleteAllPictures hoặc DeleteAllShapes
Chỉ muốn xóa một loại hình ảnh (Picture, SmartArt, Icon)Macro kiểm tra shp.Type hoặc InStr trên tên
Cần lọc theo kích thước, vị trí, hoặc tênMacro tùy chỉnh với điều kiện If
Workbook được bảo vệMở bảo vệ trong macro, thực hiện xóa, rồi bảo vệ lại
Sử dụng Excel OnlineOffice Script (TypeScript) để xóa hình ảnh
Muốn tránh xóa nhầmTạo bản sao lưu, dùng preview, hoặc chỉ xóa các đối tượng đáp ứng tiêu chí cụ thể

9. Một Số Mẹo Thực Tế Khi Làm Việc Với Hình Ảnh Trong Excel

  1. Đặt tên cho hình ảnh ngay khi chèn: Khi chèn hình, vào Format → Selection Pane, đổi tên thành Img_Logo, Img_Chart1… Điều này giúp viết macro chính xác hơn.
  2. Sử dụng “Group” để quản lý: Khi cần di chuyển hoặc xóa nhiều hình cùng lúc, nhóm chúng lại (Ctrl + G). Sau đó, một lần Ungroup hoặc Delete sẽ áp dụng cho toàn bộ.
  3. Không dùng hình ảnh quá lớn: Đối với báo cáo PDF, hình ảnh 300 DPI là đủ. Hình ảnh 600 DPI sẽ làm file nặng vô ích.
  4. Sử dụng “Background” thay vì chèn hình: Nếu hình ảnh là nền (watermark), dùng Page Layout → Background sẽ không tạo đối tượng shape, giúp file nhẹ hơn.
  5. Kiểm tra “Alt Text” (Mô tả thay thế): Nếu bạn cần tuân thủ tiêu chuẩn truy cập (accessibility), đừng xóa hết hình ảnh mà không xem xét alt text.

10. Kết Luận

Việc xóa nhiều hình ảnh trong Excel không còn là công việc tẻ nhạt hay mất thời gian nếu bạn nắm vững các công cụ và kỹ thuật phù hợp. Từ cách chọn thủ công nhanh chóng, tới Selection Pane, Go To Special, và các macro VBA mạnh mẽ, bạn có thể tùy chỉnh quá trình xóa sao cho đáp ứng chính xác nhu cầu thực tế – dù chỉ muốn làm sạch một sheet, hay muốn “làm mới” toàn bộ workbook.

Hãy nhớ luôn sao lưu file trước khi thực hiện các thao tác xóa hàng loạt, và đặt tên cho các hình ảnh để dễ quản lý. Khi cần tự động hoá, VBA là người bạn đồng hành đáng tin cậy; còn khi làm việc trên nền tảng web, Office Script sẽ là giải pháp thay thế.

Hy vọng bài viết đã cung cấp cho bạn một bộ công cụ toàn diện, giúp bạn tiết kiệm thời gian, giảm kích thước file, và tối ưu hoá quy trình làm việc với Excel. Chúc bạn thành công trong việc quản lý và xóa hình ảnh một cách nhanh chóng và an toàn!

⚠️
LƯU Ý QUAN TRỌNG: Miễn trừ trách nhiệm: Mặc dù chúng tôi luôn nỗ lực để đảm bảo tính chính xác và cập nhật của thông tin, nhưng các quy định về giáo dục và tuyển sinh có thể thay đổi theo thời gian. BigSchool không chịu trách nhiệm về bất kỳ sai sót nào hoặc kết quả phát sinh từ việc sử dụng thông tin trên trang này. Độc giả nên liên hệ trực tiếp với nhà trường hoặc cơ quan chức năng để có thông tin mới nhất. Ngoài ra, BigSchool tuyệt đối không bán sản phẩm, khóa học hay cung cấp dịch vụ được nhắc đến trong bài.

Viết một bình luận