如何使用更改列/行的单元格作为参考定义动态范围

时间:2019-01-28 22:59:05

标签: excel vba

the highlighted area is the range I need to select 我有一个Excel文件,我和我的团队使用该文件为我们的应用程序从GP收集评论。问题是,我想通过使用VBA代码添加一些按钮来提高此excel的效率,以使一些每周的任务自动化,例如清除工作表的全部内容,并使其成为新的一周的新任务。我需要知道如何知道以下内容,才能引用一个单元格区域:范围的开始始终是同一单元格,但结束单元格每天都在变化。结束单元格下面的单元格始终是相同的值。我如何定义从A1到这个常数上方的单元格的范围(今天是C3,明天可能是C6?

1 个答案:

答案 0 :(得分:0)

这将使用Column A确定最后使用的行(LR)的位置。我们将使用Row 1确定最后使用的列在(LC

然后我们清除内容和格式,从A1(范围角的左上角)到LC:LR(范围角的右下角)


Option Explicit

Sub Clear()

Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1") '<-- UPDATE SHEET NAME

Dim LR As Long 'Last Row
Dim LC As Long 'Last Column

LR = ws.Range("A" & ws.Rows.Count).End(xlUp).Row
LC = ws.Cells(1, ws.Columns.Count).End(xlToLeft).Column

ws.Range(ws.Cells(1, 1), ws.Cells(LR, LC)).ClearContents
ws.Range(ws.Cells(1, 1), ws.Cells(LR, LC)).ClearFormats

End Sub