kil*_*tek 2 import excel vba module function
从我的MS Excel 2010安装内部,我打开了Visual Basic Editor。(选项卡开发人员工具 -> Visual Basic)
在Visual Basic 编辑器中, 我右键单击项目窗口并创建了一个模块. (插入 -> 模块)
然后我在代码窗口中输入以下代码:
Sub myFunction()
'do some stuff to my table cells, not important
End Sub
Run Code Online (Sandbox Code Playgroud)
在函数体内编码了很多东西后,我认为我需要一个 Hashmap,它需要在给定的函数体内访问。不幸的是,我无法通过这样做导入所需的类:
Imports System.Collections
Sub myFunction()
'do some stuff to my table cells, not important
End Sub
Run Code Online (Sandbox Code Playgroud)
的错误消息通过按F5启动模块时出现。它说(由我从德语翻译成英语):“编译时出错:程序外非法”。
当代码结构如上时,如何在 VBA 中导入某些内容?我通常是一个java 或 python人。如果函数仍在执行,您还可以重新构建代码。
小智 5
在这种情况下,您要么使用
收藏类
或者
字典类
Collection类内置在VBA 中,因此您无需添加外部引用即可使用它。你可以简单地声明它
Dim c as Collection
Set c = new Collection
Run Code Online (Sandbox Code Playgroud)
Collection公开 4 种方法:add, count, item, remove所以它可能对你来说还不够。
Customizing, expanding Collection class
如果你想使用像HashTable/HashMap这样的东西,然后Microsoft Scripting Runtime通过在 VBE 窗口中单击Tools和添加引用References
然后你可以在Dictionary类中使用早期绑定和智能感知
Dim d as Dictionary
Set d = new Dictionary
Run Code Online (Sandbox Code Playgroud)
或者使用后期绑定
Dim d as Object
set d = CreateObject("Scripting.Dictionary")
Run Code Online (Sandbox Code Playgroud)
我会选择早期绑定(第一个示例 - 添加对 VBA 项目的引用),以便您可以使用 VBA Intellisense。
您可以使用对象浏览器查看Dictionary或Collection分类 - 只需点击F2VBE 窗口并输入Dictionary或Collection

有用的阅读 Dictionary class
| 归档时间: |
|
| 查看次数: |
7575 次 |
| 最近记录: |