วิธีสร้างแผนภูมิวงกลมใน vba (พร้อมตัวอย่าง)
คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้เพื่อสร้างแผนภูมิวงกลมใน Excel โดยใช้ VBA:
SubCreatePieChart ()
Dim MyChart As ChartObject
' get input range from user
Set Rng = Application.InputBox(Prompt:=" Select chart input range ", Type:=8)
'create pie chart
Set MyChart = Worksheets(" Sheet1 ").ChartObjects.Add(Left:=ActiveCell.Left, _
Width:=400, Top:=ActiveCell.Top, Height:=300)
MyChart.Chart.SetSourceDataSource:=Rng
MyChart.Chart.ChartType = xlPie
End Sub
มาโครนี้จะถามผู้ใช้ถึงช่วงอินพุต จากนั้นสร้างแผนภูมิวงกลมโดยอัตโนมัติโดยใช้ช่วงอินพุตและแทรกลงในแผ่นงานที่เรียกว่า Sheet1 โดยที่มุมซ้ายบนของแผนภูมิอยู่ในเซลล์ที่ใช้งานอยู่ในปัจจุบัน
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แมโครนี้ในทางปฏิบัติ
ตัวอย่าง: วิธีสร้างแผนภูมิวงกลมใน VBA
สมมติว่าเรามีชุดข้อมูลต่อไปนี้ใน Excel ซึ่งมีข้อมูลเกี่ยวกับคะแนนที่ทำโดยผู้เล่นบาสเก็ตบอลหลายคน:
สมมติว่าเราต้องการใช้ VBA เพื่อสร้างแผนภูมิวงกลมโดยใช้ชุดข้อมูลนี้
เราสามารถสร้างมาโครต่อไปนี้เพื่อทำสิ่งนี้:
SubCreatePieChart ()
Dim MyChart As ChartObject
' get input range from user
Set Rng = Application.InputBox(Prompt:=" Select chart input range ", Type:=8)
'create pie chart
Set MyChart = Worksheets(" Sheet1 ").ChartObjects.Add(Left:=ActiveCell.Left, _
Width:=400, Top:=ActiveCell.Top, Height:=300)
MyChart.Chart.SetSourceDataSource:=Rng
MyChart.Chart.ChartType = xlPie
End Sub
หากต้องการเรียกใช้แมโครนี้ เราสามารถคลิกแท็บ นักพัฒนาซอฟต์แวร์ ที่แถบริบบิ้นด้านบนใน Excel จากนั้นคลิก มาโคร
จากนั้นเราสามารถคลิกที่อันที่มีป้ายกำกับ CreatePieChart จากนั้นคลิกที่ Run :
เมื่อเราคลิก Run เราจะได้รับแจ้งให้ระบุช่วงอินพุตสำหรับแผนภูมิแท่งของเรา:
เราจะพิมพ์ A1:B7 แล้วกด OK
แผนภูมิวงกลมต่อไปนี้จะถูกสร้างขึ้นและแสดงโดยอัตโนมัติโดยที่มุมซ้ายบนของแผนภูมิซึ่งอยู่ในเซลล์ที่ใช้งานอยู่ในปัจจุบัน ซึ่งเกิดขึ้นเป็นเซลล์ D2 :
หมายเหตุ : คุณสามารถเปลี่ยนค่าของอาร์กิวเมนต์ ความกว้าง และ ความสูงได้ ในฟังก์ชัน ChartObjects.Add() เพื่อปรับความกว้างและความสูงของแผนภูมิวงกลมตามลำดับ
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:
วิธีสร้างแผนภูมิแท่งใน VBA
วิธีปัดเศษค่าใน VBA
วิธีปัดเศษค่าใน VBA