VBA 错误运行时错误 91 - 字符串变量抛出对象变量未设置

问题描述 投票:0回答:1

这是针对日常使用的大型 Excel 工作表。每日计划被输入到一个大型存储表中,然后将该数据复制到一个已预先格式化以供打印的页面上。

我正在尝试将特定日期范围内的数据从存储库表提取到经过格式化以供打印的单张纸中。

这个过程每天都会发生。

变量都是在任何代码执行之前声明的

当前的主要问题是 FirstDate 变量和 LastDate 变量(均声明为字符串)似乎共享相同的问题。当代码到达将数据分配给 LastDate 和 FirstDate 的行时,会出现错误 91。

代码截图

我尝试将 FirstDate 和 LastDate 变量修改为整数、变量和长整型。当 tyrin 修改这些项目时,我将 Set 命令添加到该行

Set LastDate = Worksheets("KPI 2024").Columns("B:B").Find(PrintDate, SearchDirection:=xlPrevious).Row

这导致了整数和长整型的编译错误。

当 FirstDate 创建为变体时,它显示

LastDate = Empty

excel vba
1个回答
0
投票

当使用 .Find 方法查找日期时,使用 DateValue() 函数通常是一个好主意:

Sub FindDate()

    Dim foundcell As Range
    
    printdate = "13/10/2024"
    
    Set foundcell = Worksheets("Sheet1").Columns("B:B").Find(what:=DateValue(printdate))
    
    Debug.Print "Cell address: " & foundcell.Address
    Debug.Print "Cell row: " & foundcell.Row
       
End Sub

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.