Biểu đồ thanh đua (Animated Bar Chart Race) là gì?
Biểu đồ thanh đua là định dạng đồ họa hiệu quả để thể hiện sự thay đổi đáng kể của thông tin theo thời gian, bằng cách hiển thị dữ liệu chuỗi thời gian (time series data) trong biểu đồ thanh hoạt ảnh. Nó trình bày thống kê theo cách mới, thú vị và mạch lạc.
Cách tạo Animated Bar Chart Race trong Excel: Quy trình từng bước
Bài viết sẽ đi qua 4 giai đoạn để tạo biểu đồ thanh đua động trong Excel. Trước tiên xây dựng mô hình dữ liệu, sau đó vẽ dữ liệu thành biểu đồ thanh, và cuối cùng tạo Macro VBA và gán vào nút bấm để khởi động hoạt ảnh.
Bước 1 – Thiết lập Mô hình dữ liệu (Data Model)
Bộ dữ liệu chúng ta dùng thể hiện doanh số bán hàng hàng tháng cho năm 2020 và 2021, có 3 cột: Tháng (Month), Doanh số (2020) (Sales(2020)), và Doanh số (2021) (Sales(2021)).
- Chọn vùng C4:D16 (Dữ liệu năm 2020).
- Nhấn Ctrl + C.

- Chọn vùng E4:F16 (Vùng đích để paste cho hoạt ảnh).
- Nhấn Ctrl + V.
Mô hình dữ liệu trông như sau.

Bước 2 – Tạo dữ liệu cho Biểu đồ (Chart Data)
Chúng ta vẫn cần thêm 2 cột để vẽ biểu đồ. Sao chép cả hai cột Sales và dán cạnh bên để cụ thể hơn. Sau đó vẽ biểu đồ dùng các cột vừa tạo. Chúng ta dùng Clustered Bar Chart (Biểu đồ thanh nhóm).
- Chuyển đến thẻ Insert (Chèn).
- Nhấp biểu tượng Insert Column or Bar Chart từ nhóm Charts.

- Chọn biểu tượng Clustered Bar (Thanh nhóm) từ phần 2-D Bar.

Một biểu đồ trống xuất hiện.

- Nhấp vào biểu đồ, vào thẻ Chart Design (Thiết kế biểu đồ), chọn Select Data (Chọn dữ liệu).

Cửa sổ Select Data Source mở ra.
- Nhập Tên trang tính theo sau là dấu chấm than (!), rồi phạm vi ô. Quan trọng: dùng dấu phẩy phân tách giữa các phạm vi.
- Nhấp biểu tượng Add (Thêm) trong phần Legend Entries (Series).

Cửa sổ Edit Series (Chỉnh sửa chuỗi) mở ra.
- Nhập Series name (Tên chuỗi) và Series range (Phạm vi chuỗi) cho cột E theo cú pháp trên.
- Nhấp OK.

- Lặp lại cho cột F, rồi nhấp OK.

- Quay lại cửa sổ Select Data Source.
- Chọn Edit (Sửa) từ Horizontal Axis Labels (Nhãn trục ngang).
- Nhấp OK.

Cửa sổ Axis Labels (Nhãn trục) mở ra.
- Nhập phạm vi cột B (Tháng) vào ô và nhấp OK.

Biểu đồ sẽ lấy dữ liệu từ mô hình dữ liệu.
- Nhấp dấu Plus (+) trên biểu đồ, tích chọn Axes, Chart Title, Gridlines, và Legend cho demo.

Đọc thêm: Cách tạo Biểu đồ hoạt ảnh trong Excel
Bước 3 – Xây dựng Macro cho Animated Bar Chart Race
Bây giờ viết mã VBA để hiển thị dữ liệu dưới dạng hoạt ảnh. Khai báo thủ tục DynamicChart, sẽ lấy dữ liệu cho biểu đồ từ cột C và D (dữ liệu gốc) có độ trễ, và dán vào cột E và F (dữ liệu biểu đồ).
- Chuyển đến thẻ Developer (Nhà phát triển).
- Nhấp Visual Basic.

- Chọn Insert (Chèn), theo sau Module (Mô-đun).

- Nhập mã sau vào hộp Module:
Sub DynamicChart()
Const StartRange As Long = 5
Dim LastRange As Long, RangeNo As Long
LastRange = Range("C" & StartRange).End(xlDown).Row
Range("E" & StartRange, "F" & LastRange).ClearContents
DoEvents
Application.Wait (Now + TimeValue("00:00:1"))
For RangeNo = StartRange To LastRange
DoEvents
Range("E" & RangeNo, "F" & RangeNo).Value = Range("C" & RangeNo, "D" & RangeNo).Value
Application.Wait (Now + TimeValue("00:00:1"))
DoEvents
Next RangeNo
End Sub
- Nhấp biểu tượng Save (Lưu).

Bước 4 – Tạo nút bấm (Button) gán Macro
Cuối cùng, để ứng dụng thân thiện hơn, ta tạo nút START (BẮT ĐẦU) và gán macro vừa xây dựng.
- Vào thẻ Developer, theo sau Insert (Chèn).

- Vẽ nút hình chữ nhật trong khoảng trống giữa mô hình dữ liệu và biểu đồ.
Cửa sổ Assign Macro (Gán Macro) hiện ra.
- Chọn macro, trong trường hợp này là DynamicChart, và nhấp OK.

- Chọn nút và đổi tên. Ví dụ: START.
- Bôi đen chữ, vào thẻ Home.
- Chọn Bold (Đậm) từ nhóm Font, cỡ chữ 20.

Nút sẽ trông như sau.

- Nhấp nút START, kết quả mong đợi sẽ xuất hiện như dưới đây.

Đọc thêm: Cách tạo hoạt ảnh văn bản trong Excel
Tải tệp thực hành
Các bài viết liên quan
- Cách tạo hoạt ảnh 3D trong Excel
Nhận miễn phí Bài tập Excel nâng cao có lời giải!