2012-09-25 19 views
0

我遇到宏刪除整列(如果第一行爲空)的問題。有沒有辦法找到第一個有數據的可用行?我假設問題是將「A2」命名爲範圍?Excel宏刪除第一行(如果爲空)

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

希望能夠看到誰也像這樣的合法問題投票。有沒有辦法查看誰給出了反對票? – RCoy1978

回答

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 
+0

這沒有做任何事情,nutsch – RCoy1978

+1

如果最後一行後沒有數據,它將不會執行任何操作。你想用這個宏來實現什麼? – nutsch

+0

數據將被上傳到Access中。如果A2行填充了數據,原始宏就可以正常工作。但是,如果row2爲空,則原始宏將刪除整個列。我想讓宏跳到第一行數據,無論是以「a2」還是「a3」或「a4」等開頭 – RCoy1978