VBA列表框按索引选择工作表

标记

我有一个带有列表框的表单,该表单可动态提供当前工作簿中的工作表列表(下面的代码)。我希望将所选的工作表并在此过程中稍后的公式中进行引用。从数小时的游戏中,我似乎无法完成这项工作。我相信我读过某个地方,您不能将字符串带回子对象并使用它来引用对象。所以我想也许我可以创建两个列表框

  1. 用于工作表名称
  2. 表索引

我可以将索引号传递给我,或者可以在公式中使用该索引号从正确的工作表中查找项目。

在我的一生中,我似乎无法找到一种将两者联系起来的方法,因为这些物品将一直在变化。该代码将由多个运营商在多个工作簿上运行,因此布局很可能会在用户之间进行更改。我可以轻松地添加带有索引号的第二个列表框,但是我对如何将对用户有意义的名称和可以传递回子级的索引相关联存在一个障碍。我意识到列表框的“单击”过程将两者关联起来,但是由于字段的动态性质,我无法提出将其放入代码中的逻辑。

For N = 1 To ActiveWorkbook.Sheets.Count
    With ListBox1
        .AddItem ActiveWorkbook.Sheets(N).Name
    End With
Next N
佩格

试试看

在用户窗体的代码上方声明一个公共变量,以使其在您的工作簿中可从任何模块或代码使用。

Public listChoice As String

使用您的代码获取ListBox行源的工作表名称。

Private Sub UserForm_Activate()

    For n = 1 To ActiveWorkbook.Sheets.count
        With ListBox1
            .AddItem ActiveWorkbook.Sheets(n).name
        End With
    Next n

End Sub

包括ListBox的更新事件

Private Sub ListBox1_AfterUpdate()

    listChoice = ListBox1.Text

End Sub

我进行了一项测试,只是为了证明结果仍然保留。您不需要它,它在屏幕截图上演示了结果。

Private Sub cmdTestChoice_Click()

    MsgBox ("The choice made on the ListBox was: " & listChoice)

End Sub

编辑:要稍后访问该工作表,可以使用类似以下内容的名称进行调用:

使用带数字或字母的.Range或.Cells访问单元格的不同方式的一些示例。

使用lRow和lCol作为Long设置行号和列号。

Sheets(listChoice).Cells(lRow, lCol).Value = TextBox1.Value  'Set cell on sheet from TextBox
TextBox2.Value = Sheets(listChoice).Range("A2").Value        'Set TextBox From Cell on Sheet
'Set a cell on another sheet using the selected sheet as a source.
Sheets("AnotherSheet").Cells(lRow, "D") = Sheets(listChoice).Range("D2")  

截屏

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

VBA列表框按索引选择工作表

来自分类Dev

列表框表单控件选择触发工作表SelectionChange

来自分类Dev

使用列表框循环浏览特定工作表 - VBA

来自分类Dev

如何在工作表中搜索从useform多选列表框中选择的匹配值或项目?

来自分类Dev

在列表框中选择多个工作表名称,然后在msgbox中返回结果

来自分类Dev

VBA-将列表框标题导出到工作表

来自分类Dev

轻松:vba:浏览列表框并选择内容

来自分类Dev

工作表名称中的列表框行来源空间

来自分类Dev

从工作表填充列表框时出现错误 381

来自分类Dev

将数据从列表框移动到工作表

来自分类Dev

VBA列表框问题

来自分类Dev

VBA列表框拖放

来自分类Dev

VBA列表框问题

来自分类Dev

列表框Excel VBA

来自分类Dev

VBA列表框复制到列表框

来自分类Dev

VBA列表框复制到列表框

来自分类Dev

vba 列表框值匹配列表

来自分类Dev

Excel VBA-如何在列表框中取消选择预先选择的项目

来自分类Dev

访问列表框的选定索引

来自分类Dev

按颜色分类列表框项目

来自分类Dev

如何获取一个列表框以选择与主winForm相同的索引

来自分类Dev

通过列表框的索引强制选择或拆分相同的值

来自分类Dev

如何在两个列表框之间同步选择索引

来自分类Dev

ASP.net列表框-即使使用!ispostback,选择索引也始终为-1

来自分类Dev

从工作线程更新列表框?

来自分类Dev

如何取消选择列表框的项目?

来自分类Dev

在列表框中隐藏选择栏

来自分类Dev

从选择中填充列表框,python

来自分类Dev

列表框中的选择对齐问题