2014-10-02 212 views
0

我有一個貸款攤銷計劃,根據期間創建攤銷計劃,如何在清算範圍之後再次運行貸款分期償還?例如,如果我運行10年,然後運行5年,6-10年仍然顯示,因爲它們還沒有被清除。Excel VBA - 如何清除動態範圍(從標題下方到最後一行)

這裏是我的代碼:

outRow = 3 
With Sheets("Loan") 
lCol = .Cells(3, .Columns.Count).End(xlToLeft).Column 
lrow = .Cells(.Rows.Count, lCol).End(xlUp).Row 
End With 

Sheets("Loan").Range(Cells(outRow, 5), Cells(Lastrow, lastCol)).ClearContents 
+0

你'結束後With'補充一點: 'MSGBOX「行:」&lrow與「山口:」& lCol' 你在消息框中看到了正確的數字嗎? – 2014-10-02 14:49:51

回答

1

試試這個,如果你以後.Row你將保持在標題的情況下該文件是空的添加「+1」需要工作表的UsedRange偏移1排下來,並清除內容

With Sheets("Loan").UsedRange 
     .Resize(.Rows.Count - 1, .Columns.Count).Offset(1, 0).ClearContents 
End With 
1
Dim Lastrow As Long 
Lastrow = Range("A" & Rows.Count).End(xlUp).Row 
Range("A2:A" & Lastrow).Clear 

以上將用於清除所有單元格列A工作,如果你需要它的多個列,然後在Range(A2:A行更改第二A

+0

謝謝你和@mrbungle真的有幫助! – Brian 2014-10-03 17:22:28

2

。 [如果是空的,代碼運行,而無需「+1」,將刪除標題]

Dim Lastrow As Long 
Lastrow = Range("A" & Rows.Count).End(xlUp).Row +1 
Range("A2:A" & Lastrow).Clear