excel - 将值写入另一个工作表“下标超出范围”错误
问题描述
我对 VBA 完全陌生,需要编写一些简单的 VBA 代码来进行一些计算。我有一个名为 fKitsel 的用户表单,它使用户可以选择 6 个选项之一,并将所选选项的数量作为Public Kit As Integer
变量写入工作表 Лист2(Variables)(我需要在我的组织中使用乌克兰语 excel 本地化)。当用户按下 cbsubmit 命令按钮时发生写入。这个子看起来像:
Sub cbsubmit_Click()
ActiveWorkbook.Sheets("Лист2").Range("A1").Value = Kit ' error points here
Лист2.Activate
Unload Me
End Sub
当我单击 cbsubmit 按钮时,我收到一个“下标超出范围”错误,它指向我在代码块中注释的行。无法理解我做错了什么。
解决方案
您的 Userform 包含一个Frame
名为 的控件,与模块中的变量Kit
同名,这会导致这一行的混淆:Kit
Module1
ThisWorkbook.Worksheets("VarList").Range("A1").Value = Kit
这也意味着:
ThisWorkbook.Worksheets("VarList").Range("A1").Value = Me.Kit `(which is the frame control)
您可以为每个控件/变量提供不同且不同的名称(这是一种更好的方法,为您的变量/控件提供更具描述性的名称,例如frameKit
)
或者明确说明您指的是什么变量,例如:
ThisWorkbook.Worksheets("VarList").Range("A1").Value = Module1.Kit
推荐阅读
- java - Java:关闭特定的 JFrame 窗口
- amazon-web-services - 将 cloudwatch 日志推送到 elasticsearch 的 Cloudformation 模板
- c - 为什么我的程序会跳过 switch 指令?
- python - CSV 导入数据库
- c++ - SDL_RenderSetViewport 获取所有绘制的对象
- python - Python - 如何在一个句子中找到匹配的一个或多个单词
- dart - Flutter - 创建自己的小吃店设计
- java - java-android error.cannot.find.symbol.variable
- mysql - 加入 2 个 MySQL 表以列出所有帖子并查找特定用户 (Logged INN User) 关注的用户
- python - 使用 PyAV 的视频中的帧数