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: วิธีนับเซลล์ด้วยข้อความเฉพาะ

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *