我想添加SAVE/OPEN功能到我写的一个小Excel程序。要使用该程序,用户必须填写数据并调整多个表单的设置。我想将它保存到一个配置文件中以便能够稍后加载它。保存/加载用户优选配置文件
我应该如何构建SAVE/OPEN功能?
我的想法是集团在一张纸上输入的数据和配置(我们将其命名为Entries
)通过简单的“链接”(=Sheet1!A1
为例)。此表将被导出。
我保存条目进入一个新的.xls工作簿是这样的:
ActiveWorkbook.Sheets("Entries").Columns("A:B").copy
Workbooks.Add
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False 'Paste only values
但在加载数据时的挑战来自...
有在网上几个例子(见here和there)显示如何做,但总是有同样的问题。那就是:如果我只是将已保存的工作簿中的数据(仅限于数据)复制到Entries
表单中,我所有的“链接”都将被删除。有没有办法让同步的数据?
或者是手动输入VBA中的所有单元格值并执行数百个范围副本(从导出的工作簿直接转到用户使用的单元格)的唯一解决方案?
如果你要复制的公式,Excel允许这样的:'ActiveSheet.YourRange.Formula = SourceWorkbook.SourceSheet.SourceRange.Formula' – Gaffi
当我导出入口表(所有用户条目进行分组)到一个新文件,我只想保存这些值,因为这是一个独立的文件。 但是,当我打开我已经导出的文件时,我的目的是替换分布在各种工作表中的输入字段中的值。 替换值的一种解决方案是将所有目标范围输入到VBA中。另一种解决方案,我希望如果可以实现,将以某种方式同步导出的文件和输入表单之间的数据。 – Nicolas
我想我并没有完全理解你的问题,所以很抱歉,如果我把你引向错误的方向。你的意思是有一个工作簿的公式指向你的'Entry'工作簿?通过这种方式,可以在用户选择打开文件时更新这些值,但是您也可以强制计算为手动,这意味着如果用户选择,用户可以使用“”进行同步。 –
Gaffi