日期更改时移至下一行数据


0

我有以下代码...

子测试()

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(麦金尼每日人口普查模板...)中,我有一列与其他WB匹配的日期。当日期更改时,我需要WB(McKinney ...)下降到下一行范围。IE

11/01/10 - C15:I15

11/02/10 - C16:I16

11/03/10 - C17:I17

我需要在代码中添加些什么才能完成此任务。谢谢


因此,当您打开WB McKinney时,您希望excel自动在I到C列中自动选择下一个空行
Xantec 2010年

是的,但是他们不会是空的。它将包含数据
edmon

@Xantec。实际上,当我第二天运行宏时,我希望它通过i自动选择c列中的下一行
edmon

太好了,最后一点要弄清楚,然后我应该能够为您编写代码。是否有其中包含日期的列?如果不是,第二天C:I中的行是否为空?
Xantec

是。B15:B45列具有当月的日期。
埃德蒙

Answers:


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

我收到一条编译错误消息,内容是:退出For不在For范围内...下一个
edmon 2010年

您能否以现在的状态更新问题中的代码,并添加我的补充内容?
Xantec

现在已更新。
edmon

好的,我已经更新了答案中的代码,包括您问题中的代码。如果您从模块中删除Sub test()并复制我答案中的所有代码,则它应该起作用
Xantec 2010年

它复制第一行数据(日期11/01/10)。但是当我将日期更改为10/02/10时,它并不会向下移动到下一行数据,它仅会在第二天再次粘贴11/01/10数据
edmon 2010年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.