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

dReDone

比较2个日期时,我始终收到“运行时错误'13':类型不匹配”错误。该代码从第二个工作簿中获取日期,在这种情况下,我尝试将其粘贴到单元格中以确保它是一个日期。然后,它尝试将其与当前工作簿中已有的日期进行比较。粘贴日期和其他日期是相同的格式。我不知道为什么它不能比较两个日期!我也尝试过将CDate()放在每个组件周围都无济于事。请帮忙。

Sub NewMacro()
Dim CurrentWB As Workbook
Dim ForecastWB As Workbook
Dim strDate As Date

Set CurrentWB = ActiveWorkbook

Application.DisplayAlerts = False
Set ForecastWB = Workbooks.Open("My Other Workbook File Name")
Application.DisplayAlerts = True
strDate = ActiveWorkbook.Worksheets("My Sheet Name").Cells(20, "N").Value

ThisWorkbook.Activate

If Cells(5, 5) = Range("A:A") Then 'TYPE MISMATCH HERE
    Set x = Range("A:A").Find(what:=Cells(5, 5), lookat:=xlWhole)
    Cells(x, 5) = strDate
End If

End Sub
达伦·巴特鲁普·库克(Darren Bartrup-Cook)

根据我在您的代码中看到的内容:Cells(5, 5) = Range("A:A")-您无法将单个值与整个值列进行比较。

Cells(x, 5) = strDate-x是范围对象,而不是行号。使用x.Row代替。

如果Cells(5,5)找不到in的值,x等于,nothing导致此行出现错误:Cells(x, 5) = strDate

尝试修改以下代码:

Sub Test()

    Dim x As Range

    With ThisWorkbook.Worksheets("Sheet1")
        Set x = .Range("A:A").Find(What:=.Cells(5, 5), LookIn:=xlValues, LookAt:=xlWhole)
        If Not x Is Nothing Then
            .Cells(x.Row, 5) = CDate("5 Aug 2016")
        End If
    End With

End Sub

它将A在in搜索Sheet1cell中的值Sheet1!E5然后它将放入05/08/2016找到的行的第五列。

With...End Withhttps : //msdn.microsoft.com/en-us/library/wc500chb.aspx

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

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

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

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

运行时错误13 VBA Excel

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

运行时错误13 VBA Excel 2007

Excel VBA If语句多条件运行时错误13

Application.Wait和Excel VBA运行时错误'13'类型不匹配

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

Excel VBA数据透视缓存类型不匹配运行时错误'13'

尝试检测是否关闭了用户窗体时在Excel VBA中得到“运行时错误'13':类型不匹配”

Excel VBA运行时错误“ 13”:将变量数组传递给Application.Index方法时,类型不匹配

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

Excel VBA运行时错误1004

运行时错误,变量不匹配,没有导出,缺少模块引用EXCEL VBA

我在VBA excel中编写编码器。我不断收到运行时错误13。它说不匹配

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

带有 Select Case 的 Excel VBA 运行时错误 13

使用Excel VBA在工作簿中查找匹配项:运行时错误1004

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

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

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

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

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

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

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

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

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

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