2013-08-19 235 views
0

我試圖清除細胞M22使用,並打算最後一列,但使用最後一列是躲避我的動態範圍出發。清除動態範圍VBA

感謝

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 

回答

3

你不能只是做:

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

只是要注意的是,我們可以只使用'Rows.Count'和'Columns.Count'但它使絕對沒有什麼區別:) –

+3

在大多數情況下,這是真的。如果沒有片預選賽,Rows.Count和Columns.Count返回的行和列,應用程序可以支持的數量,所以,如果在Excel 2007中打開這將是一個數比.xls的工作簿中高得多,可能導致錯誤(單元M1048576不存在於.xls文件中)。因此,與海報打開一個文件,它是可能的,他們將要使用的表的行和列計算,而不是應用程序。然而,海報打開.xlsx文件,所以它可能是我的這個小不點是沒有實際意義:P – tigeravatar

+0

+1這種可能性並沒有發生在我身上,謝謝。 –