/ / กลิ้งเฉลี่ยใน Excel VBA

โรลลิ่งเฉลี่ยใน Excel VBA

ด้านล่างเราจะดูที่โปรแกรมมา Excel VBA ที่สร้าง a ตารางเฉลี่ยกลิ้ง. วางปุ่มคำสั่งในแผ่นงานของคุณและเพิ่มบรรทัดรหัสต่อไปนี้:

Range("B3").Value = WorksheetFunction.RandBetween(0, 100)

บรรทัดรหัสนี้ป้อนตัวเลขสุ่มระหว่าง 0และ 100 ลงในเซลล์ B3 เราต้องการให้ Excel VBA ใช้มูลค่าหุ้นใหม่และวางไว้ที่อันดับแรกของตารางเฉลี่ยโดยเฉลี่ย ค่าอื่น ๆ ทั้งหมดควรย้ายลงหนึ่งตำแหน่งและควรลบค่าสุดท้าย

ตารางคำนวณค่าเฉลี่ยของ Rolling Average ใน Excel VBA

ตารางคำนวณค่าเฉลี่ยของ Rolling Average ใน Excel VBA

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

1. เปิดตัวแก้ไข Visual Basic

2. ดับเบิลคลิกที่ Sheet1 (Sheet1) ใน Project Explorer

3. เลือกแผ่นงานจากรายการแบบหล่นลงด้านซ้าย เลือกเปลี่ยนแปลงจากรายการแบบเลื่อนลงด้านขวา

เปลี่ยนเหตุการณ์ใน Excel VBA

เพิ่มบรรทัดรหัสต่อไปนี้ลงในเหตุการณ์การเปลี่ยนแปลงเวิร์กชีท:

4. ประกาศตัวแปรที่เรียกว่า newvalue ของ Type Integer และสองช่วง (firstfourvalues ​​และ lastfourvalues)

Dim newvalue As Integer, firstfourvalues As Range, lastfourvalues As Range

5. เหตุการณ์การเปลี่ยนแปลงแผ่นงานจะรับฟังการเปลี่ยนแปลงทั้งหมดใน Sheet1 เราต้องการให้ Excel VBA ทำอะไรบางอย่างถ้ามีการเปลี่ยนแปลงอะไรในเซลล์ B3 เมื่อต้องการทำเช่นนี้เพิ่มบรรทัดรหัสต่อไปนี้:

If Target.Address = "$B$3" Then

6. เราเริ่มต้นค่าใหม่ด้วยค่าของเซลล์ B3 ค่าแรกด้วยช่วง ("D3: D6") และค่าสุดท้ายกับช่วง ("D4: D7")

newvalue = Range("B3").Value
Set firstfourvalues = Range("D3:D6")
Set lastfourvalues = Range("D4:D7")

7. ตอนนี้มาพร้อมกับเคล็ดลับง่ายๆ เราต้องการอัปเดตตารางเฉลี่ยโดยรวม คุณสามารถทำได้โดยการแทนที่สี่ค่าล่าสุดด้วยสี่ค่าแรกของตารางและวางมูลค่าสต็อคใหม่ในตำแหน่งแรก

lastfourvalues.Value = firstfourvalues.Value
Range("D3").Value = newvalue

8. อย่าลืมปิดงบ if

End if

9. สุดท้ายให้ป้อนสูตร = AVERAGE (D3: D7) ลงในเซลล์ D8

10. ทดสอบโปรแกรมโดยคลิกที่ปุ่มคำสั่ง

อ่านเพิ่มเติมได้ที่: