ฉันจะลบทุกอย่างใต้แถว X ใน VBA/Excel ได้อย่างไร

ฉันมีตัวแปร X แบบยาวที่มีตัวเลข บอกว่าเป็น 415

ฉันจะลบทุกอย่างบนแผ่นงานจากแถว 415 และด้านล่างได้อย่างไร

ฉันต้องการให้แน่ใจว่าสเปรดชีตของฉันสะอาดในแถว 415 และอย่างอื่นที่อาจอยู่ด้านล่าง

ฉันจะทำอย่างไร? ขอบคุณ.


person phan    schedule 06.08.2012    source แหล่งที่มา


คำตอบ (4)


ดูเหมือนว่าข้อมูลด้านล่างนี้จะตรงกับความต้องการของคุณ:

With Sheets("Sheet1")
    .Rows( X & ":" & .Rows.Count).Delete
End With

โดยที่ X คือตัวแปรที่ = หมายเลขแถว ( 415 )

person danielpiestrak    schedule 06.08.2012
comment
คุณสามารถใช้มาโคร,vba - person Medo Medo; 06.01.2017

อีกทางเลือกหนึ่งคือ Sheet1.Rows(x & ":" & Sheet1.Rows.Count).ClearContents (หรือ .Clear) เหตุผลที่คุณอาจต้องการใช้วิธีนี้แทน .Delete ก็เนื่องมาจากเซลล์ใดๆ ที่มีการขึ้นต่อกันในช่วงที่ถูกลบ (เช่น สูตรที่อ้างอิงถึงเซลล์เหล่านั้น แม้จะว่างเปล่าก็ตาม) จะลงเอยด้วยการแสดง #REF วิธีนี้จะรักษาการอ้างอิงสูตรไปยังเซลล์ที่ถูกล้าง

person Zairja    schedule 07.08.2012

ฟังก์ชั่นนี้จะล้างข้อมูลแผ่นงานโดยเริ่มจากแถวและคอลัมน์ที่ระบุ:

Sub ClearWKSData(wksCur As Worksheet, iFirstRow As Integer, iFirstCol As Integer)

Dim iUsedCols As Integer
Dim iUsedRows As Integer

iUsedRows = wksCur.UsedRange.Row + wksCur.UsedRange.Rows.Count - 1
iUsedCols = wksCur.UsedRange.Column + wksCur.UsedRange.Columns.Count - 1

If iUsedRows > iFirstRow And iUsedCols > iFirstCol Then
    wksCur.Range(wksCur.Cells(iFirstRow, iFirstCol), wksCur.Cells(iUsedRows, iUsedCols)).Clear
End If

End Sub
person Grikisjan    schedule 13.04.2017
comment
สิ่งนี้ช่วยฉันได้ ส่วนท้ายและ/หรือแถวที่เป็นตัวเลือกจะเย็นกว่านี้อีก ;) - person Joe Johnston; 23.05.2017

การอ้างอิงถึง 'แถว' ควรใช้ 'long' ไม่ใช่ 'จำนวนเต็ม' ไม่เช่นนั้นการอ้างอิงจะล้นหากสเปรดชีตมีข้อมูลจำนวนมาก

person Philip Ostle    schedule 13.10.2017