我遇到的问题是,如果第一行为空,宏将删除整个列。有没有办法找到第一个可用的数据行?我假设问题是将“A2”命名为范围?
Sub PrepForUpload()
Dim rowNumber As Integer
Sheets("Initiatives").Select
ActiveSheet.Range("a2").Select
While (Range(ActiveCell, ActiveCell.Offset(0, 0)) <> "")
ActiveCell.Offset(1, 0).Select
Wend
rowNumber = ActiveCell.Row
ActiveSheet.Range(rowNumber & ":65536").Select
Selection.Clear
Range("A2").Select
ActiveWorkbook.Save
End Sub
任何帮助都会很棒
由于
答案 0 :(得分:1)
使用选择会使您的宏变慢。如果您要在最后一个填充的A单元格之后清除所有内容,请尝试使用
Sub PrepForUpload()
Dim rowNumber As Integer
with Sheets("Initiatives")
if len(.cells(2,1))=0 then
rowNumber=.cells(2,1).end(xldown).end(xldown).row + 1
else
rowNumber=.cells(2,1).end(xldown).row + 1
end if
.rows(rowNumber & ":" & .rows.count).Clear
end with
ActiveWorkbook.Save
End Sub