excel - 如何删除Excel VBA范围内的列

标签 excel vba

我有一个名为“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...时,它给我一个错误,因为未定义的应用程序。 请帮忙,

最佳答案

Range(Range("start").Offset(,1), Range("end").Offset(,-1)).EntireColumn.Delete  

关于excel - 如何删除Excel VBA范围内的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3592273/

相关文章:

vba - 如何更改许多 Excel 工作簿中的单个宏?

excel - 字典键中的重复项。合并字典值

Excel SUMIFS 检查列是否包含文本

vba - 运行宏后显示硬编码公式

internet-explorer - VBA 未完全获取 Web 表

vba - ActiveX ComboBox_Change 事件错误地触发编译错误 : Variable not defined

Excel 发现无法读取的内容 - 数据验证

c# - 如何在 Excel 中的 SheetChange 事件中确定新的和以前的单元格值?

VBA,Excel如何设置特定样式而不使用它们的名称?

javascript - 从带有多个innertext的网页excel vba中获取数据