首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Range.Find(Function.Range)

Range.Find(Function.Range)
EN

Stack Overflow用户
提问于 2022-08-05 14:23:33
回答 1查看 45关注 0票数 0
代码语言:javascript
运行
复制
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:对象变量或块变量未设置

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-05 14:28:18

我将尝试将代码分解为更易于管理的代码:

代码语言:javascript
运行
复制
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中,这将允许进行适当的查找。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73251263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档