Excel / VBA - 根据日期将数据复制并粘贴到特定行的工作表中

时间:2011-08-10 15:38:19

标签: date excel-vba copy-paste vba excel

我认为这是一个非常简单的问题。

我有一份每日更新的报告。一个工作表中的特定范围(B5:AC5)需要每天复制到不同的工作表。这不需要自动完成,我只想将它的代码添加到我创建的格式化宏中。

我有两个问题:

  1. 我希望将数据粘贴到与该特定日期对应的行中。工作表“每日”中的列A包含该月的工作日列表。所以我只需要宏来在“每日”的A列中找到今天的日期,然后在b?:ac中粘贴b5:AC5中的“Matrix”。在“每日”的那一行。

  2. 我还需要将它作为特殊粘贴,只粘贴值。

  3. 我是VB的新手,但通常可以很好地遵循代码逻辑。如果您需要我提供更多信息,请与我们联系。非常感谢你!

1 个答案:

答案 0 :(得分:1)

假设你的范围总是在B5:AC5中,这就是我想出的:

Sub FindToday()

    Dim FoundDate As Range
    Set FoundDate = Worksheets("Daily").Columns("A").Find(DateValue(Now), LookIn:=xlValues, lookat:=xlWhole)

    If Not FoundDate Is Nothing Then ' if we don't find the date, simply skip. 
        Worksheets("Matrix").Range("B5:AC5").Copy
        FoundDate.Offset(0, 1).PasteSpecial xlPasteValues, xlPasteSpecialOperationNone, False, False ' You can see that the first argument in PasteSpecial is set to only paste values. 

   End If
End Sub

我最好地测试了这一点,我可以提供你的信息。我在B5:AC5范围内放置了一组升序数字,使用公式,在每日工作表中放置一组一个月的升序日期,它似乎正在寻找你正在寻找的东西。

希望这会有所帮助。