Dán đồ họa lên nhiều trang tính (Microsoft Excel)
Marty có một loạt sách bài tập, một số có tới 50 trang tính. Anh ta cần dán một hình ảnh (logo công ty) vào cùng một chỗ trên mỗi trang tính. Anh ấy đã cố gắng làm điều này bằng cách chọn tất cả các trang tính và sau đó dán, nhưng điều đó dường như không hoạt động trên nhiều trang tính như chỉnh sửa thông thường.
Marty nói đúng; cố gắng dán đồ họa khi bạn đã chọn nhiều trang tính không hoạt động. Khi bạn thử, Excel cho bạn biết rằng nó không thể thực hiện việc dán, nhưng nếu sau đó bạn chỉ chọn một trang tính duy nhất, bạn có thể dán khá đẹp.
Thay vào đó, bạn cần sử dụng macro để thực hiện việc dán. Giả sử rằng đồ họa đã được sao chép vào Clipboard, bạn có thể chạy một macro như sau:
Sub InsertLogo1() Dim shtSheet As Worksheet Application.ScreenUpdating = False For Each shtSheet In Worksheets With shtSheet .Activate .Range("A1").Select .Paste End With Next Set shtSheet = Nothing Application.ScreenUpdating = True End Sub
Macro bước qua từng trang tính trong sổ làm việc và dán đồ họa vào ô A1. Nếu bạn muốn sử dụng một ô khác, thì tất cả những gì bạn cần làm là sửa đổi dòng chọn ô.
Nếu bạn không muốn sao chép đồ họa vào Clipboard trước thời hạn, bạn có thể sử dụng một macro như sau để chèn đồ họa trực tiếp từ tệp hình ảnh:
Sub InsertLogo2() Dim strPath As String Dim shtSheet As Worksheet strPath = "C:\GraphicFolder\PictureName.bmp" For Each shtSheet In Worksheets shtSheet.Activate Range("A1").Select ActiveSheet.Pictures.Insert (strPath) Next shtSheet Set shtSheet = Nothing End Sub
Tất nhiên, bạn có thể sửa đổi đường dẫn đến tệp đồ họa và ô tại đó tệp được dán vào trang tính. Nếu muốn, bạn có thể sử dụng biến thể sau sẽ hiển thị hộp thoại Windows chuẩn để chọn đồ họa bạn muốn chèn:
Sub InsertLogo3() Dim strPath As Variant Dim shtSheet As Worksheet Dim sTemp As String ' Set the file type sTemp = "Graphics Files (.jpg; .bmp; .gif; .tif; *.png)" sTemp = sTemp & ", .jpg; .bmp; .gif; .tif; *.png" strPath = Application.GetOpenFilename(sTemp) If strPath <> False Then For Each shtSheet In Worksheets shtSheet.Activate Range("A1").Select ActiveSheet.Pictures.Insert (strPath) Next shtSheet Set shtSheet = Nothing End If End Sub
_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 (9205) áp dụng cho Microsoft Excel 2007, 2010, 2013, 2016, 2019 và Excel trong Office 365. 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: