我在单元格“I21”处有一个名为“Start”的范围。我还有另一个名为“End”的范围位于单元格“Q21”。我想编写一个代码来删除它们之间的所有列。换句话说,我想完全删除J,K,L,M,N,O,P列。这是我的代码:
with ThisWorkbook.sheets("Sheet1")
'unprotect sheet
.Columns(.Range("Start").Column+1 & ":" & .Range("End").Column-1).Select
Selection.Delete Shift:xlLeft
End with
当涉及第一行.Columns ...它给我一个错误,因为未定义的应用程序。 请帮忙,
答案 0 :(得分:7)
Range(Range("start").Offset(,1), Range("end").Offset(,-1)).EntireColumn.Delete
答案 1 :(得分:0)
您不必指定行引用...
ActiveSheet.Range(, MyColumn).EntireColumn.Delete
'myColumn'
是列号或您想要的任何内容的任意引用。
答案 2 :(得分:-1)
Dim xlsRange As Excel.Range
xlsRange = xlsSheet.Range("i2", "i10")
xlsRange.EntireColumn.Delete()