Код VBA для выбора / копирования данных на основе нескольких условий - PullRequest
0 голосов
/ 16 февраля 2020

Я изо всех сил пытался написать это в течение нескольких дней, и, наконец, я решил попросить вас о помощи.

Вот что у меня есть в листах:

Тест - идентификаторы работы, назначенные и Задачи как заголовки

A1 - идентификаторы

B1 - Назначенные лица

C1 - Задачи

* Остальные заголовки - это некоторые формулы Excel, которые я пробовал который не сработал.

  • Есть разные нет. Заданий в заданных данных и каждое задание имеет только 2 задания. Задачи (task1 и task2) каждой работы выполняются либо двумя уполномоченными по отдельности, либо одним и тем же уполномоченным (для некоторых работ).

Чего я пытаюсь достичь:

  • Я хочу отфильтровать данные таким образом, чтобы макрос выбирал только пять задач 1 и 2 задачи каждого из них.

  • Но в идеале, когда задача 2 задание выбрано, задание 1 того же задания также должно быть выбрано с учетом того, что у уполномоченного, выполнившего это задание, было выбрано не более 5 заданий1; s (или) задание2. * Моя идея заключается в том, что макрос должен иметь возможность идеально вести журнал или удалять данные нет. задач конкретного цессионария, когда они достигают порогового значения 5.

  • Проще говоря, нет. выбранных идентификаторов заданий не имеет значения, но при выборе любого идентификатора задания должны быть выбраны как задачи 1, так и 2 этой работы, и у каждого сотрудника должно быть 5 задач 1 и 2 задачи.

  • Идентификаторы, которые не соответствуют критериям, можно игнорировать. Но, наконец, результат должен быть следующим: у каждого уполномоченного должно быть по 5 задач1 и 2 задачи, но должны выбираться как задачи1, так и задачи2 любого идентификатора задания

Я пытался использовать эти формулы Excel :

-Я связал Получателя и задачи и проверил повторение одного и того же по всему столбцу, используя = COUNTIFS ($ D $ 2: D2, D2)

-Теперь я проверил если каждый идентификатор задания удовлетворяет заданному условию - = IF (И (E3 <= 5, E2 <= 5), «Да», «Нет») </p>

-Это приведет только к фильтрации данных, удовлетворяющих условию но недостаточно данных из-за неспособности формул автоматизировать процесс нескольких условий.

-Во всех соответствующих листах я поставил желаемый результат и результат достигнут.

Я пробовал некоторый код VBA, чтобы отфильтровать только задачи 1 правопреемника.

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 здесь - без макросов

Это далеко как я могу получить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...