Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 为什么不显示我的VBA列表框值?_Excel_Vba_Properties_Listbox - Fatal编程技术网

Excel 为什么不显示我的VBA列表框值?

Excel 为什么不显示我的VBA列表框值?,excel,vba,properties,listbox,Excel,Vba,Properties,Listbox,我正在使用VBA发票生成器。当从主电子表格中搜索名称时,我会在列表框中显示条目。我想从框中选择一个结果,但当我选择一个结果时,我没有得到我选择的条目,而是从主电子表格中得到一个条目,这显然是一个不同的记录 我收到的结果取决于名称在列表框中相对于电子表格的位置;如果我在框中选择第一个名称,我从主电子表格中获得第一个条目,如果我在框中选择第二个名称,我从主电子表格中获得第二个条目,等等 受影响的代码如下: Private Sub btSelect\u Click() 暗X等长 '这是选择要编辑的记录

我正在使用VBA发票生成器。当从主电子表格中搜索名称时,我会在列表框中显示条目。我想从框中选择一个结果,但当我选择一个结果时,我没有得到我选择的条目,而是从主电子表格中得到一个条目,这显然是一个不同的记录

我收到的结果取决于名称在列表框中相对于电子表格的位置;如果我在框中选择第一个名称,我从主电子表格中获得第一个条目,如果我在框中选择第二个名称,我从主电子表格中获得第二个条目,等等

受影响的代码如下:

Private Sub btSelect\u Click()
暗X等长
'这是选择要编辑的记录
EditNum=Me.LbCustomer.ListIndex
如果EditNum=-1,则
MsgBox“未选择任何内容”
其他的
EditNum=EditNum+1
'这是因为列表索引从0开始,您希望确保跳过标题
'下一位将值从列表框复制到表单
FmInputMaster.tbCustName=shMaster.Range(“A”&EditNum)
FmInputMaster.tbCompName=shMaster.Range(“B”和EditNum)
FmInputMaster.tbAddr1=shMaster.Range(“C”和EditNum)
FmInputMaster.tbAddr2=shMaster.Range(“D”和EditNum)
FmInputMaster.tbAddr3=shMaster.Range(“E”和EditNum)
FmInputMaster.tbUID=shMaster.Range(“F”和EditNum)
FmInputMaster.tbVAT=shMaster.Range(“G”和EditNum)
FmInputMaster.tbEmail=shMaster.Range(“H”和EditNum)
'然后卸载表单
卸下我

非常感谢任何帮助

要在VBA表单中设置文本框的值,必须将该值设置为TextBox元素的Text-属性

像这样:

FmInputMaster.tbCustName.Text = shMaster.Range("A" & EditNum)

对其他文本框元素也更改它

您是说当您填写了用户表单并单击按钮时,您的第二个用户表单没有更新吗?你是如何初始化用户表单的?无模式?可能需要有关用户表单本身的更多信息。用户表单是通过excel文档中的按钮单击实例化的,从那里会出现另一个表单,您可以使用该表单搜索具有用户名(例如“Paul”)或公司的数据库,然后在列表框中列出相关详细信息。