【发布时间】:2018-04-19 12:47:34
【问题描述】:
我正在运行代码来创建每日报告,首先我使用单元格和偏移量来比较日期,但这很慢,现在我正在使用数组来改进代码,但我遇到了问题在尝试使用某些应用程序功能时,首先我尝试了 VLookup,我得到的只是运行时错误“13”:类型不匹配。现在我正在使用 Match 和 Index 方法,我得到了同样的错误,我似乎找不到我的错误是什么。
我正在传递一个变体数组,我是这样得到的:
Public wsrgcmes As Variant
Public wshtte As Variant
With Sheets("Resumen general de casos")
wsrgcmes = .Range(.Cells(1, 2), .Cells(lRow, lCol)).Value
End With
当我尝试执行 Application.Index 方法时,错误就来了。
Sub gen_informe()
temp = Application.Index(wsrgcmes, 0, 1)
End Sub
我在调试窗口中只运行了这一行Application.Index(wsrgcmes, 0, 1),我得到了同样的错误。变体数组 wsrgcmes 包含一个带有数字和字符串值的表。任何我无法得到的帮助,我很感激。谢谢!
wbrgc 的值:
【问题讨论】:
-
这个数组是在哪里声明的?如果您不指定数据类型或结构,那么 Excel 将不得不“猜测”。
-
放入
wsrgcmes数组的结构。 -
在 wsrgcmes 上添加监视以确保正确填充数组 wsrgcmes。还要检查 lRow 和 lCol 的值。
-
wsrgcmes 是公共数组吗?
-
它是基于 1 的数组,因为您是从范围构建的。我的直接猜测是使用
temp = Application.Index(wsrgcmes, 1, 1)进行测试。
标签: arrays vba excel type-mismatch