Vba: วิธีเติมเซลล์ว่างด้วยค่าด้านบน
บ่อยครั้งคุณอาจต้องการใช้ VBA เพื่อเติมเซลล์ว่างในแผ่นงาน Excel ด้วยค่าของเซลล์ที่อยู่ด้านบนโดยตรง
เมื่อต้องการทำเช่นนี้ คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้:
Sub Fill_From_Above() With Range(" A2:B " & Range(" C " & Rows.Count).End(xlUp).Row) .SpecialCells(xlBlanks).FormulaR1C1 = " =R[-1]C " .Value = .Value End With End Sub
ตัวอย่างนี้จะเติมเซลล์ว่างทั้งหมด ตั้งแต่เซลล์ A2 ถึงคอลัมน์ B จนถึงแถวสุดท้ายที่มีค่าในคอลัมน์ C
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่าง: ใช้ VBA เพื่อเติมเซลล์ว่างด้วยค่าด้านบน
สมมติว่าเรามีชุดข้อมูลต่อไปนี้ใน Excel ที่แสดงคะแนนในเกมต่างๆ โดยผู้เล่นบาสเกตบอลที่แตกต่างกัน:

สมมติว่าเราต้องการเติมเซลล์ว่างในคอลัมน์ A และ B ด้วยค่าของเซลล์ที่อยู่ด้านบน
เราสามารถสร้างมาโครต่อไปนี้เพื่อทำสิ่งนี้:
Sub Fill_From_Above() With Range(" A2:B " & Range(" C " & Rows.Count).End(xlUp).Row) .SpecialCells(xlBlanks).FormulaR1C1 = " =R[-1]C " .Value = .Value End With End Sub
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:

โปรดทราบว่าเซลล์ว่างทั้งหมดใน คอลัมน์ทีม และ ผู้เล่น เต็มไปด้วยค่าที่เหมาะสมจากเซลล์ที่อยู่ด้านบน
หมายเหตุ : เราใช้ xlBlanks เพื่อระบุเซลล์ว่างในช่วง จากนั้นใช้ =R[-1]C เพื่อเติมค่าของเซลล์หนึ่งแถวด้านบนในช่องว่าง
ผลลัพธ์ที่ได้คือเราสามารถเติมเซลล์ว่างทั้งหมดด้วยค่าของเซลล์ที่อยู่ด้านบนได้
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:
VBA: วิธีตรวจสอบว่าเซลล์ว่างเปล่าหรือไม่
VBA: วิธีใช้ “ถ้าไม่ว่างเปล่า”
VBA: วิธีนับเซลล์ด้วยข้อความเฉพาะ