我有一个像这样的子:
Sub deleteExcessData(selectSheet As String, selectRow As Integer)
'selectSheet = go to a certain sheet
'selectRow = go to a certain row
End Sub
我想要做的是选择要开始的行,然后选择该行下面的所有非空白行一直到底部,然后删除该选择。 (这可以包括行或不包括该行)
我只想在这个子中使用2个变量,一个用于选择工作表,而on用于选择锚点行。数据是连续的。
如果数据中有一些随机空白单元怎么办?
有什么建议吗?
答案 0 :(得分:1)
尝试这样的事情:
Sub deleteExcessData(selectSheet As String, selectRow As Integer)
lastRow = Worksheets(selectSheet).Cells(1, 1).End(xlDown).Row
Worksheets(selectSheet).Rows(selectRow & ":" & lastRow).Delete
End Sub
如果你需要从底部上升,试试这个:
Sub deleteExcessData(selectSheet As String, selectRow As Integer)
lastRow = Worksheets(selectSheet).Cell(Row.Count, 1).End(xlUp).Row
Worksheets(selectSheet).Rows(selectRow & ":" & lastRow).Delete
End Sub
答案 1 :(得分:0)
这应该删除工作表底部的所有行,包括被调用的行。
Sub test()
Call deleteExcessData("Sheet1", 9)
End Sub
Sub deleteExcessData(selectSheet As String, selectRow As Long)
With Sheets(selectSheet).Cells(selectRow, 1)
.Resize(Rows.Count - selectRow + 1, 1).EntireRow.Delete
End With
End Sub
以上删除了9:1048576中的所有行。
如果已经由调用子定义,则可以交替传递工作表对象而不是名称。