【问题标题】:select nonblank cells, filter, and copy and paste excel vba选择非空白单元格,过滤,复制和粘贴excel vba
【发布时间】:2011-06-30 16:12:49
【问题描述】:

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

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

【问题讨论】:

  • 我尝试为您编写一些代码,但很难理解您想要什么。我建议你重新解释一下你的要求。

标签: excel excel-2007 vba


【解决方案1】:
ActiveSheet.Range(Cells(1, 1), Cells(7, countRow)).Select

应该是

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

【讨论】:

  • 糟糕。感谢那。不过,我的单元格似乎没有过滤或删除重复项……有什么帮助吗?