【发布时间】:2015-05-08 07:17:06
【问题描述】:
我目前正在使用 VBA 中的表单,并希望使用一种表单来修改另一种表单中的某些值。所以我有Form1,它有三个ListBox,每个都有一堆项目。然后我有 Form2,它有一个不可修改的 TextBox,它将包含用户想要编辑的选定 ListBox 项的值。
但是,由于我有多个 ListBox,我想知道我上次单击的是哪个 ListBox,以便当用户在 Form2 中单击“应用”时,我可以从该列表框中绘制所选项目并编辑该项目。
我已经创建了一个属性来跟踪最后一个 ListBox 的名称。问题是,我在使用它时遇到了麻烦。这是我的代码:
Public Property Get LastClicked() As ListBox
LastClicked = LastListBox
End Property
Public Property Let LastClicked(boxName As ListBox)
LastListBox = CStr(boxName)
End Property
Private Sub FirstNameTextBox_Change()
If (FirstNameTextBox.ListIndex <> -1) Then
EditButton.Enabled = True
Else
EditButton.Enabled = False
End If
End Sub
Private Sub FirstNameTextBox_Click()
LastClicked (FirstNameTextBox)
End Sub
Private Sub LastNameTextBox_Click()
LastClicked (LastNameTextBox)
End Sub
当我尝试使用列表框的名称设置属性时,它会返回一个错误:
“无效使用属性”
我认为这意味着我传递了错误的值,但我不知道要传递什么其他值。如果我能得到任何帮助,我将不胜感激。
【问题讨论】:
标签: vba properties listbox