У меня есть следующий код ...

Суб тест ()

Workbooks("MAY10-Key Indicator Daily Reportcopy.xls").Sheets("Input").Activate
Set c = Range("B15:B45")
For Each cell In c
    If cell.Value = Range("I5").Value Then
        Workbooks("McKinney Daily Census Template NOV 10.xls").Sheets("McKinney").Range("C15:I15").Copy
        cell.Offset(0, 37).PasteSpecial
    End If
    Next
Application.CutCopyMode = False

If Cell.Value = Date Then
    Range(Cells(Cell.Row + 1, 3).Address, Cells(Cell.Row + 1, 9).Address).Select
    Cells(Cell.Row + 1, 3).Activate
   Exit For
End If

Next Cell
End Sub

В WB(шаблон ежедневной переписи McKinney ...) у меня есть столбец дат, который совпадает с другим WB. Когда дата меняется, мне нужно WB(McKinney ...), чтобы перейти к следующему диапазону строк. IE

11/01/10 - C15:I15

11/02/10 - C16:I16

11/03/10 - C17:I17

Что мне нужно добавить в мой код для достижения этой цели. Спасибо

1 ответ1

0

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

Sub test()
    Dim MayCell As Range, MayC As Range
    Dim McCell As Range, McC As Range
    Dim McK As Workbook, MAY10 As Workbook
    Dim ChkDate As Variant

    Set MAY10 = Workbooks("MAY10-Key Indicator Daily Reportcopy.xls")
    'may need to change, if your MAY10 file name changes
    Set McK = Workbooks("McKinney Daily Census Template NOV 10.xls")
    'this may need to change for each month/year

    MAY10.Activate
    MAY10.Sheets("Input").Activate
    ChkDate = Range("I5").Value
    Set MayC = Range("B15:B45")
    For Each MayCell In MayC
        If MayCell.Value = ChkDate Then
            McK.Activate
            McK.Sheets("McKinney").Activate
            Set McC = Range("B15:B45")
            For Each McCell In McC
                If McCell.Value = ChkDate Then
                    Range(Cells(McCell.Row, 3).Address, Cells(McCell.Row, 9).Address).Copy
                    Exit For
                End If
            Next McCell
            MAY10.Activate
            MayCell.Offset(0, 37).PasteSpecial
            Exit For
        End If
    Next MayCell
    Application.CutCopyMode = False
End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .