Vba: วิธีแทรกบรรทัดด้วยการจัดรูปแบบ
คุณสามารถใช้ไวยากรณ์ต่อไปนี้ใน VBA เพื่อแทรกบรรทัดที่มีรูปแบบเดียวกันกับบรรทัดที่อยู่ด้านบน:
Sub insertRowWithFormatting()
ActiveCell.Offset(1).EntireRow.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromRightOrAbove
ActiveCell.EntireRow.Copy
ActiveCell.Offset(1).EntireRow.PasteSpecial xlPasteFormats
Application.CutCopyMode = False
End Sub
มาโครนี้จะแทรกแถวใต้เซลล์ที่เลือกในปัจจุบันโดยมีการจัดรูปแบบเหมือนกับเซลล์ในแถวที่เลือกในปัจจุบัน
หมายเหตุ : บรรทัด Application.CutCopyMode = False ระบุว่าควรปิดใช้งานโหมดการตัดและคัดลอกหลังจากดำเนินการแมโคร
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ที่เกี่ยวข้อง: วิธีแทรกหลายแถวโดยใช้ VBA
ตัวอย่าง: แทรกบรรทัดที่มีการจัดรูปแบบใน VBA
สมมติว่าเรามีชุดข้อมูลต่อไปนี้ใน Excel ที่มีข้อมูลเกี่ยวกับผู้เล่นบาสเกตบอลต่างๆ:

สมมติว่าเราต้องการแทรกแถวด้านล่างแถว 2 โดยมีการจัดรูปแบบเหมือนกันทุกประการ
เราสามารถสร้างมาโครต่อไปนี้เพื่อทำสิ่งนี้:
Sub insertRowWithFormatting()
ActiveCell.Offset(1).EntireRow.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromRightOrAbove
ActiveCell.EntireRow.Copy
ActiveCell.Offset(1).EntireRow.PasteSpecial xlPasteFormats
Application.CutCopyMode = False
End Sub
จากนั้นเราสามารถเลือกเซลล์ A2 แล้วเรียกใช้แมโครนี้
เมื่อเราเรียกใช้แมโครนี้ เราได้รับผลลัพธ์ต่อไปนี้:

โปรดสังเกตว่าแถวใหม่ที่เราแทรกมีรูปแบบเดียวกันกับเซลล์ในแถวที่ 2 ทุกประการ รวมถึงสีของเซลล์และเส้นขอบด้วย
โปรดทราบว่าแถวอื่นๆ ทั้งหมดในชุดข้อมูลที่มีอยู่เพิ่งถูกผลักลง
แหล่งข้อมูลเพิ่มเติม
บทช่วยสอนต่อไปนี้จะอธิบายวิธีการทำงานทั่วไปอื่นๆ ใน VBA:
VBA: วิธีค้นหาบรรทัดที่ใช้ล่าสุด
VBA: วิธีนับจำนวนแถวในช่วง
VBA: วิธีนับจำนวนคอลัมน์ที่ใช้