【发布时间】:2019-03-17 06:00:44
【问题描述】:
当第一个 Sheet 中的输入值等于 Cat 时,我正在尝试将行从一个工作表自动复制到另一个工作表。
因此,如果在master(第一张表)中将Cat 输入Column A,则自动复制到单独的工作表(我们称之为Cat)。
基本上,工作表Cat 应始终包含master 中所有行的精确副本,其中Column A = Cat。
我正在尝试实现的示例如下所示:
大师:
A B C D E F
Cat 4 5 6
Y 1 2 3 4 5
Cat 1 2 3
猫床单:
A D E F
Cat 4 5 6
Cat 1 2 3
这是我尝试过的:
Sub FilterAndCopy()
Dim sht1 As Worksheet, sht2 As Worksheet
Set sht1 = Sheets("Master")
Set sht2 = Sheets("Cat")
sht2.UsedRange.ClearContents
With sht1.Cells(1, 1).CurrentRegion
.AutoFilter
.AutoFilter 1, "Cat"
.SpecialCells(xlCellTypeVisible).EntireRow.Copy sht2.Cells(1, 1)
.AutoFilter
End With
End Sub
但是一行有错误:
.SpecialCells(xlCellTypeVisible).EntireRow.Copy sht2.Cells(1, 1)
【问题讨论】:
-
看起来你只是想以编程方式使用AutoFilter。您是否手动尝试过(没有 VBA)?此外,您的示例使用
X来引用工作表、范围和值。字母表中还有其他几个字母可以帮助您提高问题的清晰度。 -
自动过滤器可以工作,但我需要一些东西来分隔工作表。我的主表包含许多需要个性化的代码以用于其他报告目的。
-
很高兴将它们结合在一起@Comintern。我刚刚针对同一个问题发布了两种不同的方法。任何帮助将不胜感激
标签: excel vba filter copy autofilter