选择非空单元格,过滤,复制并粘贴excel vba

时间:2011-06-30 16:12:49

标签: excel excel-vba excel-2007 vba

正如标题所示,我正在尝试选择第一列中非空白的所有单元格,然后选择整个选择。所以我的宏遍历并计算列中的行数,直到找不到选择的空白为止。过滤。删除重复项。然后复制并粘贴到新工作表。我收到一个调试错误,并想知道是否有人可以帮助我解决代码问题。这就是我所拥有的:

Sub sum()

Dim countRow As Integer

countRow = 2

Do Until IsEmpty(Cells(countRow, 1))
    countRow = countRow + 1
Loop

Selection.AutoFilter
ActiveCell.Select
ActiveSheet.Range(Cells(1, 1), Cells(7, countRow)).AutoFilter Field:=4, Criteria1:="=yes*", _
Operator:=xlAnd
countRow = 2

Do Until IsEmpty(Cells(countRow, 1))
    countRow = countRow + 1
Loop

Selection.AutoFilter
ActiveCell.Select
ActiveSheet.Range(Cells(1, 1), Cells(7, countRow)).Select

Selection.Copy
Sheets.Add After:=Sheets(Sheets.Count)
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveSheet.Range(Cells(1, 1), Cells(7, countRow)).RemoveDuplicates Columns:=Array(1, 7), _
    Header:=xlYes
End Sub

1 个答案:

答案 0 :(得分:0)

ActiveSheet.Range(Cells(1, 1), Cells(7, countRow)).Select

应该是

ActiveSheet.Range(Cells(1, 1), Cells(countRow, 7)).Select