2010-08-28 389 views
3

我有一個名爲「Start」的單元格位於「I21」的範圍。我還有另一個名爲「End」的範圍位於單元格「Q21」。我想寫一個代碼來刪除它們之間的所有列。換句話說,我想完全刪除J,K,L,M,N,O,P列。這裏是我的代碼:如何刪除範圍Excel VBA的列

with ThisWorkbook.sheets("Sheet1") 
    'unprotect sheet 
    .Columns(.Range("Start").Column+1 & ":" & .Range("End").Column-1).Select 
    Selection.Delete Shift:xlLeft 
End with 

當涉及到第一行.Columns ...它給我一個錯誤作爲未定義的應用程序。 請大家幫忙,

回答

7
Range(Range("start").Offset(,1), Range("end").Offset(,-1)).EntireColumn.Delete 
-1
Dim xlsRange As Excel.Range 

    xlsRange = xlsSheet.Range("i2", "i10") 

    xlsRange.EntireColumn.Delete()