Sub rollforward()
Dim ua As Worksheet: Set ua = Sheets("Unit Activity Adj Tab")
Dim ws As Worksheet: Set ws = Sheets("Assumptions")
ua.Range("G1:CX1").Find(Application.WorksheetFunction.EoMonth(ws.Range("B1"),0)).Interior.Color = RGB(198, 239, 206)
End Sub这不管用!我搞不懂。我一直得到一个错误91:对象变量或块变量未设置
发布于 2022-08-05 14:28:18
我将尝试将代码分解为更易于管理的代码:
Sub rollforward()
Dim ua As Worksheet: Set ua = Sheets("Unit Activity Adj Tab")
Dim ws As Worksheet: Set ws = Sheets("Assumptions")
Dim findTerm As String: findTerm = Format(Application.WorksheetFunction.EoMonth(ws.Range("B1").Value,0), "mm/dd/yyyy") 'UPDATE FOR YOUR FORMAT
Dim findRange As Range: Set findRange = ua.Range("G1:CX1").Find(findTerm) 'Add looks ins, etc.
If findRange Is Nothing Then Exit Sub
findRange.Interior.Color = RGB(198, 239, 206)
End Sub我做过几件事:
EoMonth()能够完成其工作。.Value,以确保您只使用该值。Find()添加了一个错误检查,以防有什么发现。在错误检查之后,H 212f 213现在有几件事..。你可能需要格式化你的输出。Debug.Print Application.EoMonth(Now(), 0)输出44804。您可能很难找到它,并且可能需要验证您的查找范围不在字符串中,等等。
Edit1:将format()添加到findTerm中,这将允许进行适当的查找。
https://stackoverflow.com/questions/73251263
复制相似问题