arrays - VBA 函数似乎返回一个数组,但我得到“类型不匹配:预期数组或用户定义类型”
问题描述
我有这组 VBA 函数:
Sub x()
Dim a() As Variant
z y(a)
End Sub
Function y(a() As Variant) As Variant
y = a
End Function
Function z(a() As Variant) As Variant
z = a
End Function
当我运行时x()
,该行z y(a)
会引发错误:
Type mismatch: array or user-defined type expected
我猜这是因为z()
期望一个数组作为参数,但返回值y()
是一个变体,而不是一个数组。我不确定如何明确y()
返回一个变体数组——我声明错了吗?
解决方案
尽管您的代码什么都不做,但这将停止错误:
Sub x()
Dim a() As Variant
z y(a)
End Sub
Function y(a() As Variant) As Variant()
y = a
End Function
Function z(a() As Variant) As Variant()
z = a
End Function
推荐阅读
- javascript - 无法访问动态嵌套 JSON 属性
- python - NameError:名称'xfeatures2d'未定义opencv [3.4.2.17]
- python-3.x - 是否有 Reshape 技术来修复数组大小?
- r - 如何修复:R 中的慢循环
- wordpress - Wordpress 子文件夹多站点不加载 css、javascript 和图像
- javascript - 如何将多个参数从 Angular HTTP Post 发送到 Nodejs 后端以用于 OracleDB 查询?
- angular - 如何修复 angular7 中的“无法读取未定义的属性“错误”?
- html - 自动化 IE - VBA 问题,无法为 HTML 中的对象赋值
- tensorflow - 为什么我的定制神经网络不起作用,并且 MAE 高
- c# - 具有 Mono 和 C# 7.0 功能的 Jetbrains Rider