You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VBA用户窗体:将4列ListBox选中项分别填入对应TextBox

实现ListBox选中项同步到TextBox的VBA方案

直接通过ListBox的点击事件就能实现需求,步骤和代码如下:

  1. 打开用户窗体的代码编辑窗口:双击用户窗体空白处,或者右键用户窗体选择「查看代码」
  2. 在代码窗口的控件下拉框选择你的ListBox(比如ListBox1),然后在事件下拉框选择Click(或Change,两者效果接近)
  3. 粘贴以下代码,根据你的控件名称调整(如果你的ListBox或TextBox名称不一样,替换成实际名称):
Private Sub ListBox1_Click()
    ' 先判断是否有选中项,防止空选时出错
    If ListBox1.ListIndex <> -1 Then
        ' ListBox的列索引从0开始,第1列对应索引0,依次类推
        TextBox1.Value = ListBox1.List(ListBox1.ListIndex, 0)
        TextBox2.Value = ListBox1.List(ListBox1.ListIndex, 1)
        TextBox3.Value = ListBox1.List(ListBox1.ListIndex, 2)
        TextBox4.Value = ListBox1.List(ListBox1.ListIndex, 3)
    Else
        ' 未选中任何项时清空所有文本框
        TextBox1.Value = ""
        TextBox2.Value = ""
        TextBox3.Value = ""
        TextBox4.Value = ""
    End If
End Sub

关键说明

  • ListIndex:返回当前选中项的行号,没有选中项时返回-1,先判断这个值可以避免运行时错误
  • List(行索引, 列索引):ListBox的列是从0开始计数的,所以你说的「第1列」对应索引0,「第4列」对应索引3
  • 如果你的ListBox设置了允许多选,需要额外处理,但默认单选场景下上面的代码完全适用

内容的提问来源于stack exchange,提问作者Fgomes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 21:50:34