我的VBA代码有问题,希望有人可以帮助我。我在这里尝试做的是:
我有一个工作表(表1),其中包含每天更新的数据。为了保留这些数据,我想将源数据复制并存储在另一个工作表上(表2)。表2每天都有列。当我运行代码时,它应该在工作表2中找到今天日期的列,并将数据粘贴到列标题下面。没有火箭科学,对吗?
现在我的问题:通常,代码工作正常。它通常会做它应该做的事情。但有时,无处不在,它会出错:
偏移功能运行时错误' 91':对象变量或未设置块变量
。我发现这个错误发生是因为我的find函数返回" Nothing"。但是我不知道为什么它没有返回任何东西......我已经检查了几件事:
此外,当我稍微调整代码时,它有时会再次开始工作一段时间......非常奇怪。任何人都知道这里可能出现什么问题?
Sub Save_Login_Data()
Dim Source As Range
Set Source = Worksheets("Data Sheet 1").Range("AV12:AV29")
Dim TargetHeader As Range
Set TargetHeader = Worksheets("Data Sheet 2").Range("D119:HF119")
Dim Today As Date
Today = CDate(Date)
With TargetHeader
Dim TodaysDate As Range
Set TodaysDate = Range("D119:HF119").Find(What:=Today, _
LookIn:=xlFormulas, _
LookAt:=xlWhole, _
SearchOrder:=xlByColumns, _
SearchDirection:=xlNext)
Dim Target As Range
Set Target = TodaysDate.Offset(1, 0)
If TodaysDate = Today Then
Source.Copy
Target.PasteSpecial Paste:=xlPasteValues
End If
End With
谢谢!