我正在尝试访问所选/突出显示的ListBox "lstData"
行中的单个单元格,以便我可以在其他位置引用它们的值。
当我为Me.lstData.SelectedItem
设置监视时,我得到Expression not defined in context
。与Me.lstData.SelectedIndex
和Me.lstData.Rows(1)
相同。对我来说唯一有用的是Me.lstData.Value
,但它只返回最左边的单元格。当我尝试将其插入=OFFSET
函数
=Offset(Me.lstData.Value, ,1,1)
要立即向右访问单元格,我再次获得Expression not defined in context
。
如何引用其他选定的单元格?
答案 0 :(得分:1)
我认为您无法在Offset
表单控件上使用ListBox
。引用多列ListBox
中的“单元格”的方法是索引List
属性。
此处,i
返回所选项目的行,1
代表列表框的第二列(基数0):
Option Explicit
Private Sub CommandButton1_Click()
Dim i As Long
With Me.ListBox1
i = .ListIndex
MsgBox .List(i, 1)
End With
End Sub
Private Sub UserForm_Initialize()
With Me.ListBox1
.AddItem "A"
.List(0, 1) = "Alpha"
.AddItem "B"
.List(1, 1) = "Beta"
End With
End Sub