0

我遇到了一个问题,如果第一行为空,宏将删除整个列。有没有办法找到第一个可用的数据行?我假设问题在于将“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

任何帮助都会很棒

谢谢

4

1 回答 1

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
于 2012-09-25T16:53:13.687 回答