Chris có một sổ làm việc chứa rất nhiều biểu đồ nhỏ, giống hệt nhau. Anh ấy muốn thay đổi một số thuộc tính của các phần tử trong mỗi biểu đồ — chẳng hạn như màu sắc hoặc kích thước phông chữ — tất cả cùng một lúc.

Nếu bạn thấy mình thường xuyên sử dụng biểu đồ “không mặc định” (có nghĩa là thay đổi giao diện của các phần tử biểu đồ nhất định sau khi biểu đồ được tạo), thì một cách tiếp cận tuyệt vời là tạo biểu đồ tùy chỉnh và lưu định dạng đó trong Excel. Sau đó, bạn có thể sử dụng định dạng đã lưu để tạo tất cả các biểu đồ mới của mình, do đó giảm thiểu số lượng định dạng sau này mà bạn cần thực hiện. Cách bạn lưu các định dạng biểu đồ tùy chỉnh đã được đề cập trong các vấn đề khác của ExcelTips.

Định dạng biểu đồ tùy chỉnh có thể rất tốt cho tương lai, nhưng sẽ không hữu ích nếu bạn đã có cả đống biểu đồ trong sổ làm việc hiện có. Trong trường hợp đó, giải pháp tốt nhất là sử dụng macro có thể chuyển qua tất cả các biểu đồ trong sổ làm việc và thực hiện thay đổi mong muốn. Bạn chỉ cần quyết định trước các mục bạn muốn thay đổi, sau đó lập trình macro để thay đổi cụ thể các mục đó.

Ví dụ: macro sau thay đổi màu phông chữ và kích thước của các nhãn trục Y. Nó lặp qua tất cả các biểu đồ trong sổ làm việc, cả trang tính và biểu đồ nhúng.

Sub ChangeAllCharts1()

Dim cht As Chart     Dim sht     Dim ChtObj As ChartObject

For Each cht In ActiveWorkbook.Charts         With cht.Axes(xlValue).TickLabels.Font             .Size = 20             .Color = vbRed         End With     Next

For Each sht In ActiveWorkbook.Sheets         For Each ChtObj In sht.ChartObjects             With ChtObj.Chart.Axes(xlValue).TickLabels.Font                 .Size = 20                 .Color = vbRed             End With         Next     Next End Sub

Như đã viết ở đây, macro thay đổi kích thước phông chữ thành 20 và màu thành đỏ. Nếu bạn muốn macro thay đổi các phần tử khác, tất cả những gì bạn cần làm là thay đổi câu lệnh With để phản ánh các phần tử bạn muốn thay đổi hoặc bạn có thể sử dụng vòng lặp For …​ Next để xem qua tất cả các phần tử biểu đồ. Macro sau thể hiện kỹ thuật này, thay đổi màu nền của biểu đồ trong sổ làm việc.

Sub ChangeAllCharts2()

On Error Resume Next     NewChartAreaColor = 34

For J = 1 To ActiveWorkbook.Charts.Count         ActiveWorkbook.Charts(J).Select

'The pairs of line code indicate desired changes         ActiveChart.ChartArea.Select         Selection.Interior.ColorIndex = NewChartAreaColor     Next J

For J = 1 To ActiveWorkbook.Sheets.Count         For K = 1 To Sheets(J).ChartObjects.Count             Sheets(J).Select             Sheets(J).ChartObjects(K).Activate

'The pairs of line code indicate desired changes             ActiveChart.ChartArea.Select             Selection.Interior.ColorIndex = NewChartAreaColor         Next K     Next J 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 (7734) áp dụng cho Microsoft Excel 2007, 2010, 2013 và 2016.

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: