Animated Bar Chart Race คืออะไร?
Bar Chart Race เป็นรูปแบบกราฟิกที่มีประสิทธิภาพสำหรับแสดงการเปลี่ยนแปลงข้อมูลสำคัญตามเวลา โดยนำเสนอ Time Series Data ในแผนภูมิแท็บแบบเคลื่อนไหว (Animated) นำเสนอสถิติอย่างน่าสนใจและสอดคล้อง
วิธีสร้าง Animated Bar Chart Race ใน Excel: ขั้นตอนทีละขั้น
บทความนี้จะเดินผ่าน 4 ขั้นตอน: 1) สร้าง Data Model 2) Plot ข้อมูลเป็น Bar Chart 3) สร้าง Macro ด้วย VBA 4) กำหนด Macro ให้ปุ่มเพื่อเริ่มอนิเมชัน
ขั้นตอนที่ 1 – ตั้งค่า Data Model
ชุดข้อมูล: ยอดขายรายเดือน ปี 2020 และ 2021 มี 3 คอลัมน์ Month, Sales(2020), Sales(2021)
- เลือกช่วง C4:D16
- กด Ctrl+C

- เลือกช่วง E4:F16
- กด Ctrl+V
Data Model ตอนนี้จะเป็นแบบนี้

ขั้นตอนที่ 2 – สร้างข้อมูลแผนภูมิ (Chart Data)
ยังต้องการอีก 2 คอลัมน์สำหรับ Plot กราฟ คัดลอกคอลัมน์ Sales ทั้งสอง วางข้างๆ แล้ว Plot กราฟด้วยคอลัมน์ใหม่ ใช้ Clustered Bar Chart
- ไปที่แท็บ Insert
- คลิก Insert Column or Bar Chart ในกลุ่ม Charts

- เลือก Clustered Bar จาก 2-D Bar

จะได้แผนภูมิว่าง

- คลิกที่แผนภูมิ ไป Chart Design > Select Data

หน้าต่าง Select Data Source เปิด
- ใส่ Sheet Name ตามด้วย ! แล้วช่วงเซลล์ (ใช้คอมม่าคั่นหลายช่วง)
- คลิก Add ใน Legend Entries

หน้าต่าง Edit Series เปิด
- ใส่ Series name และ Series range สำหรับคอลัมน์ E (Syntax ตามข้างต้น)
- คลิก OK

- ทำซ้ำสำหรับคอลัมน์ F คลิก OK

- กลับ Select Data Source
- เลือก Edit จาก Horizontal Axis Labels
- คลิก OK

หน้าต่าง Axis Labels เปิด
- ใส่ช่วงคอลัมน์ B คลิก OK

แผนภูมิจะดึงข้อมูลจาก Data Model
- คลิก + (Plus icon) ทิก Axes, Chart Title, Gridlines, Legend

อ่านเพิ่มเติม: วิธีสร้าง Animated Charts ใน Excel
ขั้นตอนที่ 3 – สร้าง Macro สำหรับ Animated Bar Chart Race
เขียน VBA ให้ Procedure ชื่อ DynamicChart ดึงข้อมูลจากคอลัมน์ C, D โดยมีหน่วงเวลา วางลง E, F
- ไปที่แท็บ Developer > Visual Basic

- เลือก Insert > Module

- ใส่โค้ดใน 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
- คลิก Save

ขั้นตอนที่ 4 – สร้างปุ่ม กำหนด Macro
สร้างปุ่ม START กำหนด Macro DynamicChart
- ไป Developer > Insert

- วาดปุ่มสี่เหลี่ยมระหว่าง Data Model และ Chart
หน้าต่าง Assign Macro จะขึ้น
- เลือก DynamicChart คลิก OK

- เลือกปุ่ม เปลี่ยนชื่อเป็น START
- บล็อกข้อความ ไป Home > Bold ขนาด 20

ปุ่มจะเป็นแบบนี้

- กด START ผลลัพธ์จะเป็นอนิเมชัน Bar Chart Race

อ่านเพิ่มเติม: วิธี Animate Text ใน Excel
ดาวน์โหลดสมุดงานฝึกหัด
บทความเกี่ยวข้อง
- วิธีสร้าง 3D Animation ใน Excel
รับแบบฝึกหัด Excel ขั้นสูงพร้อมเฉลยฟรี!