วิธีใช้ formular1c1 ใน vba (พร้อมตัวอย่าง)
คุณสามารถใช้คุณสมบัติ FormulaR1C1 ใน VBA เพื่อสร้างการอ้างอิงแบบสัมบูรณ์หรือการอ้างอิงแบบสัมพันธ์กับเซลล์ใดเซลล์หนึ่งบนแผ่นงานได้
มีสองวิธีทั่วไปในการใช้คุณสมบัตินี้:
วิธีที่ 1: ใช้สูตร R1C1 เพื่อสร้างการอ้างอิงแบบสัมบูรณ์
Sub MultipyCell()
Range(" C5 ").FormulaR1C1 = " =R1C1*20 "
End Sub
เมื่อคุณเรียกใช้แมโครนี้ เซลล์ C5 จะแสดงผลลัพธ์ของเซลล์ใน แถว 1 และ คอลัมน์ 1 คูณด้วย 20
วิธีที่ 2: ใช้สูตร R1C1 เพื่อสร้างการอ้างอิงแบบสัมพันธ์
Sub MultipyCell()
Range(" C5 ").FormulaR1C1 = " =R[-4]C[-2]*20 "
End Sub
เมื่อคุณเรียกใช้แมโครนี้ เซลล์ C5 จะแสดงผลลัพธ์ของเซลล์ 4 แถวด้านบน และ 2 คอลัมน์ทางซ้าย คูณด้วย 20
ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับแผ่นงาน Excel ที่มีค่า 10 ในเซลล์ A1 :
ตัวอย่างที่ 1: ใช้สูตร R1C1 เพื่อสร้างการอ้างอิงแบบสัมบูรณ์
เราสามารถสร้างมาโครต่อไปนี้เพื่อคูณค่าของเซลล์ใน แถว 1 และ คอลัมน์ 1 ด้วย 20 และแสดงผลลัพธ์ในเซลล์ C5 :
Sub MultipyCell()
Range(" C5 ").FormulaR1C1 = " =R1C1*20 "
End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:
เราจะเห็นว่า Excel ใช้สูตร =$A$1*20 เพื่อคำนวณผลลัพธ์ในเซลล์ C5
เนื่องจากเราใช้ R1C1 ในสูตรของเราใน VBA เราจึงทำการอ้างอิงแบบสัมบูรณ์ไปยังเซลล์ในแถวแรกและคอลัมน์แรก ซึ่งก็คือเซลล์ A1
ตัวอย่างที่ 2: ใช้สูตร R1C1 เพื่อสร้างการอ้างอิงแบบสัมพันธ์
เราสามารถสร้างแมโครต่อไปนี้เพื่อคูณค่าของเซลล์ที่อยู่ 4 แถวด้านบน และ 2 คอลัมน์ทางด้านซ้าย ของเซลล์ C5 ด้วย 20 และแสดงผลลัพธ์ในเซลล์ C5 :
Sub MultipyCell()
Range(" C5 ").FormulaR1C1 = " =R[-4]C[-2]*20 "
End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:
เราจะเห็นว่า Excel ใช้สูตร =A1*20 เพื่อคำนวณผลลัพธ์ในเซลล์ C5
เนื่องจากเราใช้วงเล็บที่มี R[-4]C[-2] ในสูตรของเราใน VBA เราจึงทำการอ้างอิงแบบสัมพันธ์กับเซลล์ที่อยู่ 4 แถวด้านบนและ 2 คอลัมน์ทางด้านซ้ายของเซลล์ C5 ซึ่งก็คือเซลล์ A1
หมายเหตุ : คุณสามารถค้นหาเอกสารฉบับเต็มสำหรับคุณสมบัติ VBA FormulaR1C1 ได้ที่นี่
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:
VBA: สูตรง่ายๆ สำหรับ “ถ้าเซลล์มี”
VBA: วิธีนับจำนวนอักขระในสตริง
VBA: วิธีตรวจสอบว่าสตริงมีสตริงอื่นหรือไม่