Excel rất tiện dụng trong việc tạo biểu đồ từ dữ liệu trong trang tính. Điều gì sẽ xảy ra nếu bạn muốn tạo biểu đồ trực tiếp từ VBA, mà không sử dụng bất kỳ dữ liệu nào trong trang tính? Bạn có thể làm điều này bằng cách “đánh lừa” Excel nghĩ rằng nó đang làm việc với thông tin từ một trang tính và sau đó cung cấp thông tin của riêng bạn.

Macro sau minh họa khái niệm này:

Sub MakeChart()

'Add a new chart     Charts.Add

'Set the dummy data range for the chart     ActiveChart.SetSourceData Sheets("Sheet1").Range("a1:d4"), _       PlotBy:=xlColumns

'Manually set the values for the data series     ActiveChart.SeriesCollection(1).Formula = _       "=SERIES(""First Data"",{""a"",""b"",""c"",""d""},{2,3,4,5},1)"

ActiveChart.SeriesCollection(2).Formula = _       "=SERIES(""Second Data"",{""a"",""b"",""c"",""d""},{6,7,8,9},2)"

ActiveChart.SeriesCollection(3).Formula = _       "=SERIES(""Third Data"",{""a"",""b"",""c"",""d""},{10,11,12,13},3)"

End Sub

Các nhận xét trong ví dụ này giải thích những gì đang diễn ra cho mỗi bước.

Khi đặt phạm vi dữ liệu giả, phương thức SetSourceData giả định phạm vi nằm trên trang tính có tên Sheet1. Nếu bạn không có trang tính như vậy trong sổ làm việc của mình, bạn cần phải thay đổi lệnh cho phù hợp.

Sau đó, khi đặt thủ công các giá trị cho chuỗi dữ liệu, lệnh SERIES được sử dụng để chỉ định nhãn cho chuỗi (Dữ liệu đầu tiên, Dữ liệu thứ hai và Dữ liệu thứ ba), mảng nhãn danh mục (a, b, c và d trong tất cả các chuỗi), mảng giá trị cho chuỗi và một số chỉ định số chuỗi này đại diện cho.

_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 (2622) á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: