VBA Excel删除多行
这工作
mySheet.Rows(CStr(activeRow) & ":" & CStr(activeRow + deletedRowAmount)).Delete
这不起作用
mySheet.Columns(CStr(columDelete) & ":" & CStr(columDelete + deletedRowAmount)).Delete
我在这里错过了什么?
错误是VBA运行时错误1004“应用程序定义或对象定义的错误”
在使用string时,列是A,B,C …。 如果他们是数字,你需要做的稍微不同:
With mySheet .Range(.cells(1,columDelete), .cells(1,columDelete + deletedRowAmount)).EntireColumn.Delete End With
一般来说, 斯科特·克莱纳 ( Scott Craner)所说的已经足够了,但是这里有一个方法可以解决这个问题,
Sub TestMe() Columns(GetColumnRange(2, 5)).Delete End Sub Public Function GetColumnRange(colStart As Long, colEnd) As String GetColumnRange = Split(Cells(1, colStart).Address(True, False), "$")(0) & _ ":" & Split(Cells(1, colEnd).Address(True, False), "$")(0) End Function
尝试TestMe
函数,它应该删除从2(B)
到5(E)
。