有没有办法使用宏/按钮过滤器复制数据?

有没有办法使用宏/按钮过滤器复制数据?

我有一张工作表,顶部是员工 ID,侧面是日期。

然后我需要每天在名字上输入 Y 或 N,我有 96 名员工,所以它真的很长。有没有一个按钮或宏,如果一个人得到 YI,就可以将这些人复制到另一张表,如果新人得到 Y,它也会接管他们。这样就可以更容易地缩小 Y 人员的范围

http://i.imgur.com/tNc2Nan.jpg

答案1

我认为这个 VBa 实现了您想要的功能...您的问题不是最清楚的。

请记住,使用 VBa 时,请先创建文件的副本,因为它没有撤消功能

Option Explicit

Sub FindYeTheMapOfTreasure()


Worksheets("Sheet2").Range("A:F").Clear
Worksheets("Sheet2").Range("A:B").Value = Worksheets("Sheet1").Range("A:B").Value


    Dim row As Integer
    row = 2

    Do While Worksheets("Sheet1").Range("C" & row).Value <> ""

    If Worksheets("Sheet1").Range("C" & row).Value = "Y" Then
        Worksheets("Sheet2").Range("C:C").Value = Worksheets("Sheet1").Range("C:C").Value
    End If

    If Worksheets("Sheet1").Range("D" & row).Value = "Y" Then
        Worksheets("Sheet2").Range("D:D").Value = Worksheets("Sheet1").Range("D:D").Value
    End If

    If Worksheets("Sheet1").Range("E" & row).Value = "Y" Then
        Worksheets("Sheet2").Range("E:E").Value = Worksheets("Sheet1").Range("E:E").Value
    End If

    If Worksheets("Sheet1").Range("F" & row).Value = "Y" Then
        Worksheets("Sheet2").Range("F:F").Value = Worksheets("Sheet1").Range("F:F").Value
    End If

    If Worksheets("Sheet1").Range("G" & row).Value = "Y" Then
        Worksheets("Sheet2").Range("G:G").Value = Worksheets("Sheet1").Range("G:G").Value
    End If
    row = row + 1
    Loop


End Sub

工作表1

在此处输入图片描述

运行后,sheet2 看起来像

在此处输入图片描述

相关内容