使用VBA Excel自动复制行以分隔电子表格

时间:2018-10-12 04:12:38

标签: excel vba filter copy autofilter

当第一个Sheet中的输入值等于Cat时,我正在尝试从一个工作表自动复制行到另一个工作表。

因此,如果在Cat(第一张工作表)的Column A中输入master,则将其自动复制到一个单独的工作表中(我们将其称为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)

1 个答案:

答案 0 :(得分:1)

好像您必须跳过B和C列,我认为from your other post是隐藏的

然后您可以取消隐藏B和C列,复制/粘贴,然后将其隐藏/删除在这两张纸上

@foreach($menuitems as $menuitem)
{{ menuitem }}
    @foreach($menuitem->submenus as $submenu )
       {{ submenu }}
    @endforeach
@endforeach