如何删除范围Excel VBA的列

问题描述 投票:3回答:3

我有一个名为“Start”的范围位于单元格“I21”。我还有另一个名为“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 ...它给我一个错误,因为未定义的应用程序。请帮忙,

excel-vba vba excel
3个回答
7
投票
Range(Range("start").Offset(,1), Range("end").Offset(,-1)).EntireColumn.Delete  

0
投票

您不必指定行引用...

ActiveSheet.Range(, MyColumn).EntireColumn.Delete

其中'myColumn'是列号或任何你想要的任意引用。


-1
投票
    Dim xlsRange As Excel.Range

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

    xlsRange.EntireColumn.Delete()
© www.soinside.com 2019 - 2024. All rights reserved.