Arrays 删除行和列的数组
我有一些报告,它们之间有小计。我需要删除小计,这很容易设置条件(就像在我的IF语句中一样) 但是,我下面的代码并没有删除整行小计Arrays 删除行和列的数组,arrays,vba,excel,if-statement,Arrays,Vba,Excel,If Statement,我有一些报告,它们之间有小计。我需要删除小计,这很容易设置条件(就像在我的IF语句中一样) 但是,我下面的代码并没有删除整行小计 Sub clean_up() 'declare variables Dim i As Integer Dim noRows As Integer 'count rows noRows = Range("B2:B387").Rows.Count 'delete row entries that are duplicates.. For i = 1 To noRows
Sub clean_up()
'declare variables
Dim i As Integer
Dim noRows As Integer
'count rows
noRows = Range("B2:B387").Rows.Count
'delete row entries that are duplicates..
For i = 1 To noRows
If Range("B2").Cells(i + 1, 1) = Range("B2").Cells(i, 1) Then
Range("B2:G2").Cells(i + 1).Clear
End If
Next i
End Sub
我不明白为什么我的代码的
范围(“B2:G2”).单元格(I+1).Clear
不正确。使用Range(“B2”).Cells(i+1).Clear
可以删除行中的第一个条目,因此不应该使用Range(“B2:G2”).Cells(i+1).Clear
删除整行?它只影响单个单元格,因为您从一个范围(Range(“B2:G2”)
)开始,然后告诉它只清除一个单元格(.Cells(i+1)
)该范围(向下偏移1行)。最好从单个单元格开始,并使用来调整列数
Range("B2").Cells(i + 1).RESIZE(1, 6).Clear
Range(“B2:G6”)。行(i+1)。清除也应该起作用…;)@DirkReichel-我也在考虑范围(“B2:G6”)。偏移量(I,0)。清除,但我没有测试它以确保我是正确的偏移量。@DirkReichel-我不知道您指的是什么错误。使用扩展到给定范围之外没有什么错,无论该范围是多个单元格中的单个单元格。只需通过电话。。。你是对的。范围。单元格将始终由范围的左上角单元格偏移。。。只是看起来不对。。。