Francois có một loạt các nhận xét trong một trang tính và mỗi nhận xét có một hình ảnh làm nền. Anh ấy muốn xóa những ảnh nền đó khỏi các bình luận và thay vào đó, đặt chúng dưới dạng đồ họa trong các ô ngay bên phải nơi đặt bình luận.

Cách duy nhất để làm điều này là với sự hỗ trợ của macro. Lý do là bạn không thể chọn và sao chép thủ công bất kỳ hình ảnh nào đã được lưu trữ trong nền của một nhận xét. Trong một macro, bạn có thể gần đúng “lấy”

hình ảnh:

Sub CommentPictures()

Dim cmt As Comment     Dim rCell As Range     Dim bVisible As Boolean

For Each cmt In ActiveSheet.Comments         With cmt             bVisible = .Visible             .Visible = True             Set rCell = .Parent.Offset(0, 1)

.Shape.CopyPicture _               Appearance:=xlScreen, Format:=xlPicture             rCell.PasteSpecial             Selection.ShapeRange.LockAspectRatio = msoFalse             Selection.Width = rCell.Width             Selection.Height = rCell.Height             .Visible = bVisible             .Shape.Fill.OneColorGradient msoGradientFromCenter, 1, 1         End With     Next cmt End Sub

Macro bước qua từng nhận xét trong trang tính đang hoạt động. Toàn bộ nhận xét (bao gồm cả nền) được sao chép dưới dạng đồ họa vào Clipboard, sau đó nó được dán vào ô mong muốn. Sau đó, nền của nhận xét được đặt thành một màu khác thay vì đồ họa.

Bạn nên lưu ý rằng cách tiếp cận này chỉ cung cấp mức độ gần đúng của việc lấy ảnh nền. Nó cũng sao chép toàn bộ nhận xét dưới dạng đồ họa, sao chép bất kỳ văn bản nào có trong nhận xét.

_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 (11165) áp dụng cho Microsoft Excel 2007 và 2010. Bạn có thể tìm thấy phiên bản của mẹo này cho giao diện menu cũ hơn của Excel tại đây: