vba动态打开同一文件夹中的文件

时间:2017-03-09 20:17:48

标签: excel vba

是否有可能在名为Tom Dick和Harry的文件夹中有多个工作表,第四个名为admin。 Admin有一些数据输入单元格,其中一个有一个下拉菜单来选择Tom Dick或Harry。然后,当宏被触发时,它会在相关工作表上填充吗?我快速学习如何从其他所有优秀的QA中学到这些东西,但我找不到足够具体的东西。我读过这可能有用:

Workbooks.Open Filename:= ThisWorkbook.Path& " Tom.xls"

但是如何使它更具动态性,以便根据下拉选择打开Dick或Harry?

期待干杯: - )

1 个答案:

答案 0 :(得分:1)

让我在这里扩展我的评论。首先,我们假设您在一个文件夹中有4个工作簿:“Tom,”Dick“,”Harry“和”admin“。让我们假设您在工作簿”admin“中输入数据的工作表同样称为”admin“ “。在工作表”admin“中,您在单元格A1中进行了数据验证,允许用户从三个字符串中选择一个:”Tom“,”Dick“和”Harry“。我会做类似的事情:

Dim admin as Workbook, wb as Workbook
Dim str as String

Set admin = Thisworkbook 'assuming you are writing this code in the workbook admin, which seems to be the case
str = admin.Sheets("admin").Range("A1").Value2
Set wb = Workbooks.Open(admin.Path & "\" & str & ".xls") 'assuming the files are .xls, just change the extension if they are otherwise

鉴于此,您有一个工作簿变量wb,它允许您在工作簿打开后对其进行操作。