เรามีชุดข้อมูลยอดขายรายเดือน 3 ปีติดต่อกัน: 2020, 2021, และ 2022 เราจะสร้างแผนภูมิที่เปลี่ยนแปลงอัตโนมัติ

ขั้นตอนที่ 1 – ตั้งค่าแผนภูมิพร้อมคอลัมน์ช่วย (Helper Columns)
- แทรกคอลัมน์ช่วย “Sales” 3 คอลัมน์

หมายเหตุ: สามารถเน้นสีคอลัมน์ช่วยเพื่อให้เห็นภาพชัดเจนขึ้น
- ไปที่เซลล์ว่าง
- ไปที่แท็บ Insert
- ภายใต้ส่วน Charts เลือก Insert Line or Area Chart และเลือก Stacked Line

- คลิกขวาที่แผนภูมิ คลิก Select Data

- กล่องโต้ตอบ Select Data Source จะขึ้น
- เลือก Add จาก Legend Entries (Series)

- จะเห็นหน้าต่าง Edit Series
- ในกล่อง Series Name เลือก Sales (2020) และใน Series values เลือกช่วงข้อมูล $F$5:$F$16
- กด OK

- ทำซ้ำเลือกคอลัมน์ “Sales” ทั้งหมดและคอลัมน์ช่วยที่เกี่ยวข้อง

- ใน Horizontal (Category) Axis Labels ไปที่ Edit

- กล่องโต้ตอบ Axis Labels ขึ้น เลือกช่วงข้อมูล $B$5:$B$16 คลิก OK

สุดท้าย กด OK ในหน้าต่าง Select Data Source

อ่านเพิ่มเติม: วิธีสร้าง Animated Bar Chart Race ใน Excel
ขั้นตอนที่ 2 – จัดรูปแบบแผนภูมิ
- สร้าง Chart Title, Axis Titles, และ Legend ที่ด้านล่าง สามารถทำได้จาก Chart Elements

แผนภูมิจะมีลักษณะคล้ายภาพด้านล่าง

ขั้นตอนที่ 3 – ใช้โค้ด VBA
- ไปที่แท็บ Developer เลือก Visual Basic

- เลือกแท็บ Insert เลือก Module

- ใน Module 1 จะเห็นกล่อง General
- วางโค้ด VBA ต่อไปนี้และบันทึก
Sub AnimationChart()
Const SR As Long = 5
Dim LR As Long
Dim RN As Long
LR = Range("C" & SR).End(xlDown).Row
Range("F" & SR, "H" & LR).ClearContents
DoEvents
Application.Wait (Now + TimeValue("00:00:1"))
For RN = SR To LR
DoEvents
Range("F" & RN, "H" & RN).Value = Range("C" & RN, "E" & RN).Value
Application.Wait (Now + TimeValue("00:00:1"))
DoEvents
Next RN
End Sub

คำอธิบายโค้ด
เราประกาศ ตัวแปร ก่อน ตั้ง Constant เป็น SR แทน Starting Row ในที่นี้คือ 5 LR และ RN เป็นตัวแปรอ้างอิงค่า Last Row และ Row Number ตามลำดับ
LR = Range(“C” & SR).End(xlDown).Row→ คำสั่งลบค่าทั้งหมดของคอลัมน์ที่เกี่ยวข้อง (F: H)
Range(“F” & SR, “H” & LR).ClearContents→ เลือกช่วงเซลล์ เริ่มแสดงค่าเซลล์ทีละแถว และเติมคอลัมน์ว่าง F ถึง H
เราตั้ง Time delay เป็น 1 วินาที ซึ่งช่วยแสดงข้อมูลหน่วง 1 วินาที ให้แผนภูมิมีความรู้สึกไดนามิก
ขั้นตอนที่ 4 – ใส่ปุ่มเพื่อสร้าง Animation
- เพิ่มปุ่มด้วย Form Controls ในแผ่นงาน
- เปลี่ยนชื่อเป็น Animation
- คลิกขวาที่ปุ่ม Animation เลือก Assign Macro จาก Context Menu

- กล่อง Assign Macro จะขึ้น
- เลือก Macro name เป็น AnimationChart
- กด OK

- แผนภูมิเคลื่อนไหวพร้อมใช้งาน คลิกปุ่ม Animation

ส่วนฝึกปฏิบัติ
เราเตรียมส่วนฝึกปฏิบัติไว้ด้านขวาของแต่ละแผ่น เพื่อให้คุณฝึกตามขั้นตอนได้

ดาวน์โหลดสมุดงานฝึกปฏิบัติ
บทความเกี่ยวข้อง
- วิธีทำให้ข้อความเคลื่อนไหวใน Excel
- VBA Animation ใน UserForm
รับแบบฝึกหัด Excel ขั้นสูงพร้อมเฉลยฟรี!