删除行和列数组

时间:2016-01-29 00:51:04

标签: arrays excel vba excel-vba 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
    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

我不明白为什么我的代码的Range("B2:G2").Cells(i + 1).Clear不正确。使用Range("B2").Cells(i + 1).Clear可以删除行中的第一个条目,那么不应该{0}删除整行吗?

1 个答案:

答案 0 :(得分:3)

它仅影响单个单元格,因为您以范围(#nav { height:70px; width: 100%; position:fixed; padding-top: 2px; top:0; left:0; background-color:#ac0008; z-index:9999; display: none; } .navbar { background-color: transparent; background: transparent; border-color: transparent; } .navbar .nav > li > a { float: none; font-size: 18px; line-height: 26px; padding: 9px 10px 11px; text-decoration: none; color: #ddd; text-transform: uppercase; padding-top: 20px; padding-bottom: 20px; } )开头,然后告诉它只清除该范围的一个单元格(Range("B2:G2"))(向下偏移1行)。最好从单个单元格开始,并使用Range.Resize property来调整列数。

.Cells(i + 1)