首页 > 解决方案 > 用于根据多个条件选择/复制数据的 VBA 代码

问题描述

几天来我一直在努力写这个宏,我终于决定寻求你的帮助。

这是我在工作表中的内容:

测试 - 作业 ID、受让人和任务作为标题

A1 - 身份证

B1 - 受让人

C1 - 任务

*其余标题是我尝试过的一些excel公式,但没有成功。

我想要达到的目标:

我试过使用这些 excel 公式:

- 我已将受让人和任务连接​​起来,并使用 =COUNTIFS($D$2:D2,D2) 检查该列中是否存在相同的重复

- 现在我检查了每个作业 ID 是否满足给定条件 - =IF(AND(E3<=5,E2<=5),"Yes","No")

-这仅导致过滤满足条件的数据,但由于公式无法自动执行多个条件的过程,因此数据不足。

- 在所有相应的工作表中,我已经给出了预期的结果和实现的结果。

我已经尝试了一些 VBA 代码来过滤出受让人的 task1。

Sub Pick()
    Dim N As Long, i As Long
    a = Worksheets("Test").Cells(Rows.Count, 1).End(xlUp).Row
    For i = 2 To a
        If Worksheets("Test").Cells(i, 3).Value = "Task1" Then
            Worksheets("Test").Rows(i).Copy
            Worksheets("IDs").Activate

            b = Worksheets("IDs").Cells(Rows.Count, 1).End(xlUp).Row

            Worksheets("IDs").Cells(b + 1, 1).Select
            Worksheets("IDs").Paste
        End If
    Next

    Application.CutCopyMode = False

End Sub

请在此处找到 excel 文件的链接- 无宏

这是我所能得到的。

标签: arraysvbaexcel-formula

解决方案


推荐阅读