Макрос для работы с несколькими документами - VBA

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Нужна ваша помощь. Есть 3 документа, в каждом первый столбец с датами. Нужно написать макрос, который выделит и скопирует текст из каждого документа по датам, которые записаны в 2 ячейки(от какой даты и до какой) в моем документе, и вставил в документ. Буду очень благодарен за помощь.

Решение задачи: «Макрос для работы с несколькими документами»

textual
Листинг программы
Sub qqq()
Dim src As Worksheet, dst As Worksheet, params As Range
    Set src = ActiveSheet
    Set dst = ThisWorkbook.Worksheets("result")
    Set params = ThisWorkbook.Worksheets("params").Cells
    dfrom = params(1, 2)
    dto = params(2, 2)
    col = params(3, 2)
    dst_r = dst.Cells(dst.Cells.Rows.Count, 1).End(xlUp).Row
    If dst.Cells(dst_r, 1) <> "" Then dst_r = dst_r + 1
 
    Application.ScreenUpdating = False
    For r = 1 To src.UsedRange.Rows.Count
        If dfrom <= Cells(r, 1) And Cells(r, 1) <= dto Then
            Range(Cells(r, 2), Cells(r, 1 + col)).Copy dst.Cells(dst_r, 1)
            dst_r = dst_r + 1
        End If
    Next
    Application.CutCopyMode = False
    dst.Activate
    Application.ScreenUpdating = True
End Sub

Оцени полезность:

11   голосов , оценка 4.455 из 5
Похожие ответы