我认为这是一个非常简单的问题。
我有一份每日更新的报告。一个工作表中的特定范围(B5:AC5)需要每天复制到不同的工作表。这不需要自动完成,我只想将它的代码添加到我创建的格式化宏中。
我有两个问题:
我希望将数据粘贴到与该特定日期对应的行中。工作表“每日”中的列A包含该月的工作日列表。所以我只需要宏来在“每日”的A列中找到今天的日期,然后在b?:ac中粘贴b5:AC5中的“Matrix”。在“每日”的那一行。
我还需要将它作为特殊粘贴,只粘贴值。
我是VB的新手,但通常可以很好地遵循代码逻辑。如果您需要我提供更多信息,请与我们联系。非常感谢你!
答案 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范围内放置了一组升序数字,使用公式,在每日工作表中放置一组一个月的升序日期,它似乎正在寻找你正在寻找的东西。
希望这会有所帮助。