【发布时间】:2021-10-28 05:57:57
【问题描述】:
我正在使用 VBA 在 Excel 中处理一个简单的用户窗体,目的是将一个表(因此是一个 ListObject)传递给用户窗体,以便它可以处理更改并拥有执行我想要的任务所需的所有数据。
现在我有两个属性,一个是包含操作类型的 String 类型,另一个是 Table。
截至目前,用户窗体代码如下:
Private msOperationType As String
Private msDataTable As ListObject
Property Let OperationType(sText As String)
msOperationType = sText
NewOperationTitle.Caption = "New operation: " & sText
InformationLabel.Caption = "Fill out all the information regarding the " & sText & " operation"
End Property
Property Let DataTable(sDataTable As ListObject)
msDataTable = sDataTable
End Property
Private Sub UserForm_Initialize()
'Code here will do things
End Sub
在我的模块中,我有以下代码:
Dim AddOperationForm As UserForm1
Set AddOperationForm = New UserForm1
AddOperationForm.OperationType = "Add"
AddOperationForm.DataTable = Worksheets(14).ListObjects("Operations")
AddOperationForm.Show
但是,当我运行代码(从工作表中的按钮启动)时,我得到一个 Compile Error: Invalid use of property 并且 Property Let DataTable(sDataTable As ListObject) 被突出显示,但这并不能帮助我理解为什么我的代码存在问题。 OperationType 的 String 的等效代码工作正常,所以我不确定如何解决这个问题
【问题讨论】:
标签: excel vba properties