Xóa ảnh cho trang tính trong VBA (Microsoft Excel)
Rob đã viết về một vấn đề mà anh ấy đang gặp phải khi xóa ảnh khỏi trang tính. Anh ấy có macro thêm hình ảnh (chữ ký) làm hình dạng, nhưng sau đó khi anh ấy cố gắng xóa hình ảnh, anh ấy không thể tìm thấy nó trong bộ sưu tập Hình dạng.
Có một số điều cần kiểm tra. Trước hết, bạn nên đảm bảo rằng bạn đang sử dụng cú pháp thích hợp để thực hiện việc xóa. Kiểm tra để đảm bảo rằng bạn đang đưa đối tượng sheet vào mã của mình một cách rõ ràng.
Ví dụ: dòng sau sẽ không hoạt động:
Shapes(1).Delete
Thay vào đó, bạn phải chỉ định trang tính, sử dụng mã tương tự như bất kỳ dòng nào sau đây:
ActiveSheet.Shapes(1).Delete Sheets("Sheet1").Shapes(1).Delete Sheets(1).Shapes("Signature").Delete
Nếu bạn xác định rằng hình ảnh mong đợi không có trong bộ sưu tập Hình dạng, thì có thể Excel (vì những lý do kỳ lạ chỉ Excel mới biết) đã chuyển hình ảnh sang một bộ sưu tập khác, chẳng hạn như bộ sưu tập Hình ảnh. Nếu bạn nghi ngờ điều này, hãy thử sử dụng macro sau:
Sub WhatAmI() Dim sTemp As String sTemp = "You selected this type of object: " & TypeName(Selection) sTemp = sTemp & vbCrLf sTemp = sTemp & "It's name is " & Selection.Name MsgBox sTemp End Sub
Chọn hình ảnh chữ ký, sau đó chạy macro. Bạn sẽ thấy một hộp thông báo cho biết loại đối tượng bạn đã chọn, cùng với tên của nó.
Sau đó, bạn có thể sử dụng thông tin để sửa đổi macro của mình để nó xóa hình ảnh như mong muốn.
_Lưu ý: _
Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.
ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.
Mẹo này (2480) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện ribbon của Excel (Excel 2007 trở lên) tại đây: