Excel-VBA:比较日期时出现运行时错误

court_k

我已经为这个问题困扰了几天了:

“运行时错误'13':类型不匹配”

当我尝试比较日期时。我查了一下自己的问题,看是否有人遇到了同样的问题,并找到了这个问题我试过实施该问题的解决方案,但是没有运气。

我正在使用一种名为“日历”的用户窗体,该窗体将日期保留在用户可以编辑的相关文本框上的标签中,并将注释放入其中,如下所示。 这里

我将笔记保存到工作表的B列中,并将笔记的日期保存在A列中。

现在,我试图通过比较日期从工作表中提取注释并将它们放入文本框中,这就是我遇到的问题。当我比较日期时,我拉标签标题并将其另存为日期curDate,并拉出工作表日期并将其另存为wsDate。我最初在if语句(现在已注释掉)中有一个消息框,以查看代码是否正在运行..是这样的。它将一直运行到第一个匹配项,然后给出运行时错误。

Dim ws As Worksheet

Dim lrow As Integer 'last row
Dim row As Integer 'used for looping through rows

Dim wsDate As Date 'worksheet date
Dim curDate As Date 'label date

Dim i As Integer

Set ws = Sheets("Hidden Information")

lrow = ws.Range("A" & ws.Rows.Count).End(xlUp).row

With ws 'Hidden Information worksheet

    For i = 1 To 38 'number of labels

        For row = 2 To lrow 'runs til the last row on the worksheet

            wsDate = DateSerial(Year(.Cells(row, 1).Value), _
                Month(.Cells(row, 1).Value), Day(.Cells(row, 1).Value))

            curDate = DateSerial(Year(Controls("Label" & i).Caption), _
                Month(Controls("Label" & i).Caption), Day(Controls("Label" & i).Caption))

            If wsDate = curDate Then Controls("TextBox" & i).Text = vbNewLine & _
                vbNewLine & .Cells(row, 2).Value 'MsgBox "it's a match!"

        Next row

    Next i

End With

我对代码进行了几次修改,并尝试以其他方式保存日期,例如,

        temp = CDate(.Cells(row, 1).Value)
        wsDate = Format(temp, "mm/dd/yy")

        temp = CDate(Controls("Label" & i).Caption)
        curDate = Format(temp, "mm/dd/yy")

但这有相同的问题:将一直运行到第一个匹配项,然后给出运行时错误。

我觉得解决方案是显而易见的,因为我已经盯着这几天了……

如果有任何需要澄清的地方,请告诉我。

西里尔

确保使用调试器检查错误发生的位置。

从注释中可以看出,您的错误是在currDate = ...处,您似乎可以通过更正代码的迭代范围来解决此问题。

存在此评论是为了结束在评论部分回答的问题,以免让问题持续存在。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

运行时错误'13:比较日期时键入不匹配-EXCEL VBA

Excel VBA宏出现运行时错误'1004'

使用VBA从受保护的网站导入Excel中的数据时出现运行时错误438

使用Excel-VBA宏从工作簿复制时出现运行时错误'1004'

删除单元格数据时出现 Excel VBA 运行时错误

在Excel VBA中删除多个列时出现运行时错误1004

通过 Excel VBA 从 SQL Server 获取数据时出现运行时错误

运行时错误13 VBA Excel

Excel VBA运行时错误1004

VBA Excel:将范围内容放入数组时出现运行时错误 13 - 长单元格内容

Excel VBA - 使用 .ModifyAppliesTo 和运行时错误 1004(尝试插入太长的字符串时出现问题?)

Excel VBA 日期保存 - 运行时错误 75 路径/文件访问错误

应用程序打开时出现Microsoft Excel VBA错误运行时1004,导致无休止的错误循环,导致无法使用Excel

日期/时间格式的 excel sql vba 运行时错误 80040e07

VBA Excel 错误运行时错误“53”

调用带有对象作为参数的子例程时的运行时错误Excel VBA

分配工作簿变量时Excel / VBA中的运行时错误91

在单元格中插入值或公式时,Excel VBA运行时错误1004

重命名ActiveSheet时Excel VBA运行时错误1004

Excel 2013-VBA-创建和访问[超过4个!]条件格式设置项时出现运行时错误9

Excel 使用 VBA 第二次尝试打印时出现运行时错误“1004”粘贴范围类的特殊方法失败

Excel VBA:.find函数返回运行时错误91

Excel VBA运行时错误类型不匹配13

Excel VBA运行时错误“ 13”:类型不匹配

Excel VBA运行时错误91无法解决

Excel VBA 运行时错误 1004 - ThisWorkbook.Connections

Excel VBA-运行时错误1004

Excel VBA,Http.ResponseText运行时错误91

Excel VBA SUMIF运行时错误“ 424”:必需对象