【发布时间】:2020-06-27 01:10:04
【问题描述】:
我在这里看到了以下问题:How to add multiple data rows at once from UserForm to Excel DataBase 这似乎是我的问题的解决方案。
但是,我在尝试实施上述解决方案时遇到了一些困难。
背景: 我想创建一个用户表单,允许我添加股票信息,例如:股票的市场、代码、货币、价格和数量,并将这些信息添加到表格中。
尝试:
这是我设计的用户表单(目前很简单)
我想存储多个提交,然后将所有提交添加到表中。
代码
模块 1
Public ws As Worksheet
Public DataA()
用户表单代码
'----Code to Set the dimension of the Data array
Private Sub UserForm1_Initialize()
Dim DataA(5, 0)
Set ws = ThisWorkbook.Sheets("Portfolio")
'----Rest of your code
End Sub
'----Code to add a data set to the data array
'Button to add is called cmd_add
'Text Boxes are names: txt_SM, txt_Sy, txt_Cu, txt_Pr and txt_Qu
'These represent the desired headings: Stock Market, Symbol, Currency, Price and Quantity
Private Sub cmd_add_Click()
DataA(1) = UserForm1.txt_SM
DataA(2) = UserForm1.txt_Sy
DataA(3) = UserForm1.txt_Cu
DataA(4) = UserForm1.txt_Pr
DataA(5) = UserForm1.txt_Qu
ReDim Preserve DataA(LBound(DataA, 1) To UBound(DataA, 1), LBound(DataA, 2) To UBound(DataA, 2) + 1)
End Sub
但是,在尝试添加提交后,我收到“下标超出范围错误”。这似乎是数组 DataA 的问题,但我不确定错误在哪里。我已在单独的模块中将其声明为公共数组,并在初始化步骤中指定了维度。
对于解决此问题和开始工作的任何帮助将不胜感激。
谢谢
【问题讨论】: