将几个已过滤列的非空白单元格复制到第二个工作表

时间:2016-10-21 20:03:06

标签: vba excel-vba excel

我有一个表,我需要根据“AS”列中的标准自动过滤,然后将多个离散列的值得到的非空白单元复制到下一页中的特定单元格。

最有效的方法是什么?我知道我可能需要复制/粘贴特殊值而不是直接引用

1 个答案:

答案 0 :(得分:0)

我不完全确定你在问什么。但是,想象A列中充满了水果的名称,而B列中则填充了数字。以下代码使用条件" Apples"过滤A列。并将相应的数字复制到新的工作表。这可能会让你走上正轨。

Sub selectApples()

' Find last row in column A
Dim LastRow As Integer
LastRow = Cells(Rows.Count, 1).End(xlUp).Row

' Select data in column A and filter
Range("A1:A" & LastRow).Select
Selection.AutoFilter Field:=1, Criteria1:="Apples"

'Find new last row
Dim newLastRow As Integer
newLastRow = Cells(Rows.Count, 1).End(xlUp).Row

'Copy and paste special into new worksheet
Range("B2:B" & newLastRow).Select
Selection.Copy
Sheets.Add After:=ActiveSheet
Selection.PasteSpecial Paste:=xlPasteValues

End Sub