我想将项目添加到excel工作表中的组合框中,该文本框位于用户表单中的文本框中单击按钮。我看到添加到组合框的值但是当我关闭并重新打开工作簿时它将变为空。任何人都可以帮我处理这件事吗?
首先感谢你的快速反应
感谢你们的反馈和纠正。让我更清楚地表达我的关注
答案 0 :(得分:1)
dn_cmb_items
范围:=""
dn_cmb_items
frm_add_cmb_item
并将ShowModal
设置为False
。tb_item_text
。cmb_add
,然后从其上下文菜单中选择View code
。这将创建click
事件处理程序。Private Sub cmb_add_Click() Dim v_r As Range, v_n As Name Set v_n = Names("dn_cmb_items") If v_n.Value = "=""""" Then v_n.Value = "=" & Worksheets(1).Name & "!$A$1:$A$1" v_n.RefersToRange.Value = tb_item_text.Text Else Set v_r = v_n.RefersToRange Set v_r = v_r.Cells(v_r.Rows.Count + 1, 1) v_r.Value = tb_item_text.Text v_n.Value = "=" & Worksheets(1).Name & "!$A$1:" & v_r.Address(True, True) End If End Sub
frm_add_cmb_item.Show
实现创建的宏。Debug
菜单的VBA编辑器中,选择Compile
。然后保存VBAProject以及工作簿。这就是编码的全部内容。cmb_add
按钮时,新项目将添加到最后的A
列,从而更改分配的dn_cmb_items
值到工作表上的组合框。
请参阅随附的屏幕短片:初始状态:
1
补充道:
2
补充道:
PS 我有所有代码的准备好的工作簿。我应该在哪里上传它?
答案 1 :(得分:0)
特定于您的问题并始终发布相关代码,以便为其他人解决问题。
如果要在执行userform时查看数据,只需在userform_activate或Initialize中写入所需数据。在执行之前,它将获取值并显示在组合框中。
您从工作表中获取的输入只是在另一个工作表中写入这些值,这样无论何时打开工作簿,值都不会被删除。