วิธีการวนซ้ำในช่วงเซลล์ที่ต้องการวิธีหนึ่งคือการใช้ For…Next กับ Cells Property การใช้ Cells Property สามารถทดแทนนับวนจำนวนของเซลล์ (หรืออื่น ๆ ตัวแปร หรือนิพจน์) ในตัวอย่างต่อไปนี้ ตัวแปร Counter ถูกแทนด้วยเลขแถว เป็นการวนซ้ำในช่วงเซลล์ C1:C20 โดยตั้งค่าเป็น 0 เมื่อเซลล์ใดมีค่าน้อยกว่า 0.01
Sub RoundToZero1() For Counter = 1 To 20 Set curCell = Worksheets("Sheet1").Cells(Counter, 3) If Abs(curCell.Value) < 0.01 Then curCell.Value = 0 Next Counter End Sub
วิธีที่ง่ายอีกวิธีหนึ่งคือการวนซ้ำในช่วงเซลล์โดยการใช้ For Each…Next กับ Collection ของเซลล์ใน Range Property โดย Visual Basic ตั้งค่า Object สำหรับเซลล์ถัดไปให้ทำงานแต่ละครั้งการวนรอบ ขั้นตอนต่อไปนี้เป็นการวนรอบช่วงเซลล์ A1:D10 โดยตั้งค่าเป็น 0 เมื่อเซลล์ใดมีค่าน้อยกว่า 0.01
Sub RoundToZero2() For Each c In Worksheets("Sheet1").Range("A1:D10").Cells If Abs(c.Value) < 0.01 Then c.Value = 0 Next End Sub
ถ้าคุณไม่ทราบขอบเขตของช่วงคุณต้องการวนซ้ำ คุณสามารถใช้ CurrentRegion Property เพื่อระบุช่วงที่ล้อมรอบเซลล์ที่ใช้งาน ตัวอย่างเช่น Precedure ต่อไปนี้ เมื่อเรียกใช้จากแผ่นงาน เกิดการวนซ้ำในช่วงที่ล้อมรอบเซลล์ที่กำลังใช้งาน โดยตั้งค่าเป็น 0 เมื่อเซลล์ใดมีค่าน้อยกว่า 0.01
Sub RoundToZero3() For Each c In ActiveCell.CurrentRegion.Cells If Abs(c.Value) < 0.01 Then c.Value = 0 Next End Sub
ไม่มีความคิดเห็น:
แสดงความคิดเห็น