清除dynamic范围vba

我想清除一个dynamic范围从单元格M22开始使用和去最后一列,但使用最后一列是逃避我。

谢谢

Sub clear() Workbooks.Open Filename:=ThisWorkbook.path & "\..\Master Info Page.xlsx" With Sheets("Sheet1") lastCol = .Cells(13, .Columns.Count).End(xlToLeft).Column Lastrow = .Cells(.Rows.Count, lastCol).End(xlUp).Row End With Sheets("Sheet1").Range(Cells(M22, 13), Cells(Lastrow, lastCol)).Clear End Sub 

你不能只是做:

 With Sheets("Sheet1") .Range("M22", .Cells(.Rows.Count, .Columns.Count)).Clear End With