【发布时间】:2015-08-07 02:25:19
【问题描述】:
所以当我尝试在 VBA 中编程时,我在 microsoft 网站 (https://msdn.microsoft.com/en-us/library/office/ff839746.aspx) 上发现了这个
表达式 .Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat) 表达式 表示 Range 对象的变量。
什么:要搜索的数据。可以是字符串或任何 Microsoft Excel 数据类型。
并且我希望我的代码能够在特定范围内找到第一个具有“日期”数据类型的单元格,即 temp。
Dim temp As Range, next_date As Range
temp = Range("A63:A70")
Set next_date = temp.Find(Date)
Debug.Print (next_date)
但我不断收到“未设置对象变量”错误,我认为这意味着它无法在该范围内找到日期。该范围内肯定有一个日期,但是当我将鼠标悬停在我在 .Find() 中键入的“日期”上时,我意识到它显示的是今天的日期。
我认为这段代码可能试图在该范围内查找今天的日期。但我只想让它找到一个具有通用“日期”数据类型的单元格,有没有办法在不指定特定日期的情况下做到这一点?谢谢!!
【问题讨论】:
-
感谢您的所有回答!我意识到我误读了“可以是字符串或任何 Microsoft Excel 数据类型”——我认为这意味着 .Find 可用于查找特定数据类型,但我现在意识到这意味着 .Find 可用于查找某些字符串或数字或日期或其他excel数据类型的任何其他数据。我希望避免循环,因为我实际上正在处理数百行(但没有在示例中指定),但我可能会使用你的答案,Jeeped!还要感谢 Alex P 和 Dawid 提供的有用意见