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 に答える