/ / วัตถุโปรแกรมประยุกต์ Excel VBA

วัตถุแอ็พพลิเคชัน Excel VBA

WorksheetFunction | ScreenUpdating | DisplayAlerts | การคำนวณ

แม่ของวัตถุทั้งหมดคือ Excel เอง เราเรียกมันว่า วัตถุแอ็พพลิเคชัน. แอ็พพลิเคชันอ็อบเจ็กต์ช่วยให้สามารถเข้าถึงตัวเลือกที่เกี่ยวข้องกับ Excel ได้มาก

WorksheetFunction

คุณสามารถใช้คุณสมบัติ WorksheetFunction ได้ Excel VBA เพื่อเข้าใช้งานฟังก์ชัน Excel

1. ยกตัวอย่างเช่นวางคำสั่งลงในเวิร์กชีทของคุณและเพิ่มโค้ดโค้ดต่อไปนี้:

Range("A3").Value = Application.WorksheetFunction.Average(Range("A1:A2"))

เมื่อคุณคลิกปุ่มคำสั่งบนแผ่นงาน Excel VBA คำนวณค่าเฉลี่ยของค่าในเซลล์ A1 และเซลล์ A2 และวางผลลัพธ์ไว้ในเซลล์ A3

Worksheet ฟังก์ชันใน Excel VBA

หมายเหตุ: แทน Application.WorksheetFunctionเฉลี่ยเพียงใช้ WorksheetFunction.Average ถ้าคุณมองไปที่แถบสูตรคุณจะเห็นว่าตัวสูตรเองไม่แทรกลงในเซลล์ A3 เมื่อต้องการแทรกสูตรลงในเซลล์ A3 ใช้บรรทัดรหัสต่อไปนี้:

Range("A3").Value = "=AVERAGE(A1:A2)"

ScreenUpdating

บางครั้งคุณอาจพบว่ามีประโยชน์ในการปิดการอัปเดตหน้าจอ (เพื่อหลีกเลี่ยงการกะพริบ) ในขณะที่รันโค้ด ดังนั้นรหัสของคุณจะทำงานได้เร็วขึ้น

1. ยกตัวอย่างเช่นวางคำสั่งบนเวิร์กชีทของคุณและเพิ่มโค้ดต่อไปนี้:

Dim i As Integer

For i = 1 To 10000
    Range("A1").Value = i
Next i

เมื่อคุณคลิกปุ่มคำสั่งบนแผ่นงาน Excel VBA จะแสดงค่าแต่ละส่วนเป็นเศษเล็กเศษน้อยของวินาทีและอาจใช้เวลาสักครู่

ScreenUpdating

2. เพื่อเร่งกระบวนการอัพเดตรหัสดังต่อไปนี้

Dim i As Integer

Application.ScreenUpdating = False

For i = 1 To 10000
    Range("A1").Value = i
Next i

Application.ScreenUpdating = True

ด้วยเหตุนี้รหัสของคุณจะทำงานเร็วกว่ามากและคุณจะเห็นผลลัพธ์สุดท้าย (10000) เท่านั้น

DisplayAlerts

คุณสามารถสั่งให้ Excel VBA ไม่แสดงการแจ้งเตือนขณะรันโค้ด

1. ยกตัวอย่างเช่นวางคำสั่งลงในเวิร์กชีทของคุณและเพิ่มโค้ดโค้ดต่อไปนี้:

ActiveWorkbook.Close

เมื่อคุณคลิกปุ่มคำสั่งบนแผ่นงาน Excel VBA จะปิดไฟล์ Excel ของคุณและขอให้คุณบันทึกการเปลี่ยนแปลงที่คุณทำ

DisplayAlerts

2. เพื่อให้ Excel VBA ไม่แสดงการแจ้งเตือนนี้ในขณะที่รันโค้ดให้อัพเดตโค้ดดังต่อไปนี้

Application.DisplayAlerts = False

ActiveWorkbook.Close

Application.DisplayAlerts = True

ด้วยเหตุนี้ Excel VBA จะปิดไฟล์ Excel ของคุณโดยไม่ต้องขอให้คุณบันทึกการเปลี่ยนแปลงที่คุณทำ การเปลี่ยนแปลงใด ๆ หายไป

การคำนวณ

โดยค่าเริ่มต้นการคำนวณจะถูกตั้งค่าเป็นอัตโนมัติ ด้วยเหตุนี้ Excel จะคำนวณเวิร์กบุคใหม่โดยอัตโนมัติทุกครั้งที่มีการเปลี่ยนแปลงค่าที่ส่งผลต่อสูตร ถ้าเวิร์กบุคของคุณมีสูตรที่ซับซ้อนหลายอย่างคุณสามารถเพิ่มระดับแมโครของคุณโดยการตั้งค่าการคำนวณเป็นแบบแมนนวล

1. ยกตัวอย่างเช่นวางคำสั่งลงในเวิร์กชีทของคุณและเพิ่มโค้ดโค้ดต่อไปนี้:

Application.Calculation = xlCalculationManual

เมื่อคุณคลิกปุ่มคำสั่งบนแผ่นงาน Excel VBA จะคำนวณค่าด้วยตนเอง

2. คุณสามารถตรวจสอบได้โดยคลิกที่ File, Options, Formulas

ตัวเลือกการคำนวณ

3. ตอนนี้เมื่อคุณเปลี่ยนค่าของเซลล์ A1 ค่าของเซลล์ B1 จะไม่คำนวณใหม่

การคำนวณด้วยตนเอง

คุณสามารถคำนวณสมุดงานด้วยตนเองโดยการกด F9

4. ในสถานการณ์ส่วนใหญ่คุณจะตั้งค่าการคำนวณให้เป็นอัตโนมัติอีกครั้งเมื่อสิ้นสุดโค้ดของคุณ เพียงเพิ่มโค้ดต่อไปนี้เพื่อให้บรรลุเป้าหมายนี้

Application.Calculation = xlCalculationAutomatic
อ่านเพิ่มเติมได้ที่: