การแทรกแถวใน VBA นั้นค่อนข้างแตกต่างจากการแทรกคอลัมน์ใน VBA ในคอลัมน์เราใช้วิธีการทั้งคอลัมน์ แต่ในการแทรกแถวเราใช้วิธีเวิร์กชีตด้วยคำสั่งแทรกเพื่อแทรกแถวเรายังให้การอ้างอิงแถวที่เราต้องการแทรก แถวอื่นที่คล้ายกับคอลัมน์
แทรกแถวด้วย VBA Excel
เราสามารถดำเนินการส่วนใหญ่ทั้งหมดที่เราทำใน excel ด้วยการเข้ารหัส VBA เราสามารถคัดลอกเราวางเราสามารถลบและเราสามารถทำสิ่งต่างๆได้อีกมากมายผ่านภาษา VBA “ การแทรกแถว” เป็นวิธีการหนึ่งที่เรามักทำใน excel ในบทความนี้เราจะแสดงวิธีใช้วิธีแทรกแถวใน VBA
วิธีแทรกแถวใน Excel VBA
ด้านล่างนี้เป็นวิธีการต่างๆในการใช้ VBA เพื่อแทรกแถวใน excel
วิธี # 1 - การใช้วิธีแทรก
ใน VBA เพื่อแทรกแถวเราจำเป็นต้องใช้เทคนิคที่คล้ายกันที่เราใช้ในแผ่นงาน excel ใน VBA เราจำเป็นต้องใช้วัตถุช่วงเพื่อแทรกแถว
ตัวอย่างเช่นดูโค้ดด้านล่าง
รหัส:
Sub InsertRow_Example1 () ช่วง ("A1") แทรก End Sub
รหัสนี้จะย้ายเซลล์ A1 ลงไปที่ B1 และแทรกเซลล์เดียว
ซึ่งจะทำให้เกิดปัญหามากมายในแง่ของการจัดการข้อมูล สิ่งนี้จะย้ายเซลล์ที่กล่าวถึงลงและคอลัมน์อื่น ๆ ที่เกี่ยวข้องทั้งหมดจะยังคงเหมือนเดิม
วิธี # 2 - การใช้คุณสมบัติทั้งแถว
แถวแทรกด้านบนเราสามารถใช้หลายวิธีได้ วิธีการด้านล่างนี้จะแทรกทั้งแถวเหนือเซลล์ที่เลือก
ขั้นตอนที่ 1:พูดถึงที่อยู่เซลล์ก่อน
รหัส:
Sub InsertRow_Example2 () ช่วง ("A1") End Sub
ขั้นตอนที่ 2:แทนที่จะใช้เพียงแค่เลือกคุณสมบัติ“ ทั้งแถว ”
รหัส:
Sub InsertRow_Example2 () ช่วง ("A1") EntireRow End Sub
ขั้นตอนที่ 3:หลังจากเข้าสู่สถานที่ให้บริการทั้งแถวใช้วิธีการแทรก
รหัส:
Sub InsertRow_Example2 () ช่วง ("A1") EntireRow.Insert End Sub
เพื่อแทรกแถวเหนือเซลล์ A1 เนื่องจาก A1 เป็นแถวแรกมันจะเลื่อนลงเซลล์ A1 ไปที่ B1
ดังที่คุณสามารถทำได้ในภาพด้านบนจะต้องแทรกทั้งแถวไม่ใช่เซลล์เดียว
วิธี # 3 - ใช้หมายเลขแถว
ในตัวอย่างข้างต้นเราเพิ่งใช้ที่อยู่เซลล์เดียวและแทรกแถว อย่างไรก็ตามเราสามารถแทรกได้โดยใช้หมายเลขแถว
สมมติว่าคุณต้องการแทรกแถวด้านล่างแถวที่ 5 ก่อนอื่นเราต้องพูดถึงหมายเลขแถวโดยใช้วัตถุ RANGE
รหัส:
Sub InsertRow_Example3 () ช่วง ("6: 6") End Sub
เนื่องจากเราได้กล่าวถึงทั้งแถวเป็น 6: 6 เราจึงจำเป็นต้องใช้คุณสมบัติทั้งแถวที่นี่เราจึงสามารถใช้เมธอด“ INSERT” ได้โดยตรง
รหัส:
Sub InsertRow_Example3 () ช่วง ("6: 6") แทรก End Sub
นอกจากนี้ยังจะแทรกทั้งแถวไม่ใช่เซลล์เดียว
ในกรณีที่คุณต้องการแทรกสองแถวด้านล่างแถวที่ 5 เราจำเป็นต้องเลือก 2 แถวก่อนจากนั้นจึงใช้วิธี INSERT
Sub InsertRow_Example3 () ช่วง ("6: 7") แทรก End Sub
ซึ่งจะแทรกสองแถวด้านล่างแถวที่ 5
เช่นนี้เราสามารถแทรกแถวได้มากที่สุดในแผ่นงาน
วิธีที่ # 4 - การใช้คุณสมบัติของเซลล์ที่ใช้งานอยู่
เราสามารถใช้คุณสมบัติ Active Cell VBA เพื่อแทรกแถว เซลล์ที่ใช้งานอยู่ไม่ใช่เซลล์ที่เลือกไว้ในปัจจุบัน
สมมติว่าคุณอยู่ในเซลล์ B5 และคุณต้องการแทรกแถวด้านบนคุณสามารถใช้คุณสมบัติของเซลล์ที่ใช้งานอยู่
Sub InsertRow_Example4 () ActiveCell.EntireRow แทรก End Sub
สิ่งนี้จะแทรกแถวเหนือเซลล์ที่ใช้งานอยู่
วิธี # 5 - การใช้คุณสมบัติของเซลล์ที่ใช้งานอยู่กับฟังก์ชันออฟเซ็ต
สมมติว่าคุณต้องการแทรกแถวหลังจาก 2 แถวของเซลล์ที่ใช้งานอยู่เราจำเป็นต้องใช้ฟังก์ชัน Offset เพื่อหักล้างจำนวนแถว
สมมติว่าคุณอยู่ในเซลล์ B5
หากคุณต้องการแทรกแถวหลังแถวที่ 2 จากเซลล์ที่ใช้งานอยู่เราสามารถใช้รหัสด้านล่าง
รหัส:
Sub InsertRow_Example5 () ActiveCell.Offset (2, 0) .EntireRow. แทรก End Sub
สิ่งนี้จะแทรกแถวหลังแถวที่ 6
แทรกแถวทางเลือก
การแทรกแถวทางเลือกมักจะเจอหลายครั้ง ดูภาพข้อมูลด้านล่าง
ตอนนี้เราต้องแทรกแถวอื่น เราจำเป็นต้องใช้ลูปเพื่อแทรกแถวสำรองทุกแถว
รหัส:
Sub InsertRow_Example6 () Dim K As Integer Dim X As Integer X = 1 สำหรับ K = 1 ถึง 4 เซลล์ (X, 1) .EntireRow. แทรก X = X + 2 ถัดไป K End Sub
เพื่อแทรกแถวแบบนี้
คุณสามารถดาวน์โหลด VBA Insert Row Excel ได้ที่นี่ VBA แทรกเทมเพลต Excel แถว