Скопируйте и вставьте в другую книгу, если критерии удовлетворены - PullRequest
0 голосов
/ 27 сентября 2019

Я пытаюсь создать код VBA, который копирует строки из одной рабочей книги (Test Report.xlsx), а затем вставляет эту скопированную строку в другую рабочую книгу (Test Final Report.xlsx), если она соответствует определенным критериям при нажатии кнопки команды.Критерий для копирования и вставки: если ячейка во втором столбце таблицы содержит критерии 3'5, скопируйте эту строку и вставьте ее в другую рабочую книгу.Я пробовал следующее, но когда я запускаюсь, он просто выбирает ячейки, указанные в строке кода перед End Sub.Мне нужна помощь с этим, пожалуйста, смотрите ниже код, который продолжает меня подводить.Что я делаю не так и что я должен сделать, чтобы сделать это правильно?

Private Sub CommandButton1_Click()
    a = Worksheets("Mar'19").Cells(Rows.Count, 1).End(xlUp).Row

    For i = 2 To a
        If Worksheets("Mar'19").Cells(i, 2).Value = "3'5" Then
            Worksheets("Mar'19").Rows(i).Copy
            Worksheets("3.5").Activate
            b = Worksheets("3.5").Cells(Rows.Count, b).End(xlUp).Row
            Worksheets("Sheet2").Cells(b + 1, 1).Select
            ActiveSheet.Paste
            Worksheets("Sheet1").Activate
        End If
    Next

    Application.CutCopyMode = False
    ThisWorkbook.Worksheets("Mar'19").Cells(1, 1).Select
End Sub

1 Ответ

0 голосов
/ 27 сентября 2019

Это работает?

Private Sub test()
    a = Worksheets("Mar'19").Cells(Rows.Count, 1).End(xlUp).Row
For i = 2 To a
    If Worksheets("Mar'19").Cells(i, 2).Value = "3'5" Then
        Worksheets("Mar'19").Rows(i).Copy
        Worksheets("3.5").Cells(ThisWorkbook.Sheets("3.5").Cells(1048576, 1).End(xlUp).row + 1, 1).Paste

    End If
Next

Application.CutCopyMode = False
ThisWorkbook.Worksheets("Mar'19").Cells(1, 1).Select
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...