2014-10-02 75 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