我有一个用户表单,可以将一行信息填入excel表 . excel表有两个电子表格,一个用于数据输入,另一个用于userform中的3个下拉列表 . 我想删除第二张表并将其放入自己的工作簿中 . 我的问题是如何编写VBA代码以从droplist工作簿中选择数据(称为“Client and Project Droplists.xlsx”)来填充第一个工作簿中userform中的droplists(称为“Expense Reports Test.xlsm”) )?我目前的代码附在下面 .
Private Sub cboClient_Change()
Me.cboProject = ""
Select Case Me.cboClient
Case "Wells Fargo"
Me.cboProject.RowSource = "WellsFargoProjects"
Case "BLUSA"
Me.cboProject.RowSource = "BLUSAProjects"
Case "JP Morgan"
Me.cboProject.RowSource = "JPMProjects"
End Select
End Sub
我将在接下来的几个小时内上班,因此可以在问题/评论部分中请求任何其他信息 . 非常感谢帮助完成这项任务 .
1 回答
我和我的同事分享了很多数据并且在excel中工作了很多,所以我们在网络驱动器上创建了很多共享表,以便在我们的实用程序中使用 .
我们采用的一种方法是打开一个全局列表,在本地复制它,并使用它来填充下拉列表:
另一种方法只是从全局列表中读取单元格并将它们直接写入条件格式列表 . 此特定代码创建一个可用工作表数组,并使用它来填充下拉列表:
最后,此代码从我们保留在共享驱动器上的全局列表中创建userform中的下拉列表:
可能最简单的方法是第一个 - 只需打开存储在共享驱动器上的工作簿,然后在本地复制每个下拉列表 . 您可以在Worksheet初始化函数中运行它,以便每次打开文件时更新下拉列表 .
希望这有帮助,如果您想了解更多信息,请与我们联系 .
Edit:
在这里阅读可能更容易 .
只需将您的下拉列表链接到命名范围: