【发布时间】:2015-01-24 06:56:40
【问题描述】:
我有两个相互依赖的子进程。
第一个(合并)获取用户选择的文件并打开它们并合并到当前工作表中。 变量“Files”存储用户选择的路径和文件名
在用户对合并的工作表进行一些更改并按下工作表上分配给“更新”宏的按钮之后。
第二个子(更新)使用用户“文件”已经提供的相同输入,并找到更新单元格所在的工作表并粘贴新值。
请建议一种将用户输入用于“更新”子流程的方法。
Sub Consolidate()
Dim Files as Variant
Files = Application.GetOpenFilename("Excel Files (*.xl*), *.xl*", Title:="Select files to Consolidate", MultiSelect:=True)
For Z = LBound(Files) To UBound(Files)
tem = Split(Files(Z), "\")
If (tem(UBound(tem)) <> ThisWorkbook.Name) Then
* code to consolidate*
end sub
Sub update()
Call gotoLastModified
Application.ScreenUpdating = True
Application.DisplayAlerts = False
For Z = LBound(Files) To UBound(Files)
tem = Split(Files(Z), "\")
* code to update sheet
结束子
【问题讨论】:
-
一种简单的方法是将信息写入隐藏的工作表,然后从同一个工作表中检索它。您可以使用 VBA 中的
Visible = xlVeryHidden,这样用户就无法轻松取消隐藏它。当您需要在关闭和打开工作簿后检索信息时,此方法效果很好。