Excel文件太大 – 340 MB – 迁移访问?

我有一个约340 MB的Excel文件,其中包含2000多个工作表和几十个长的VBA程序。 文件越来越大,打开文件需要10-15分钟左右,当我保存或debugging文件时,经常进入“无响应”,“无法使用的资源”。

我在网上search的人build议迁移到Acesss。 不过,我从来没有使用过Access。 所以我想知道

1)如何迁移excel文件来访问? 2)将VBA程序带到新的访问文件3)我是否需要修改excel VBA代码以适应Access? 2)可以访问处理300-500MB文件?

谢谢

500MB的Excel文件并不意味着500MB的访问文件。 从Excel移动到Access是一个非常好的想法。 但是,您需要首先了解基础知识。 Excel与MS Access访问完全不同,除非Access看起来类似于数据表格中的Excel。

Access是一个“Relational” – 数据库+graphics化前端软件,您可以在表单中或通过组件显示数据。 在关系数据库中,您可以识别实体并定义它们之间的关系。 这样做可以消除整个应用程序中的[数据不一致性]。 正确的build模可能会将数据从500MB减less到50MB。

回答你的问题:

1> How to migrate the excel file to access? 

首先在你的情况下迁移需要一个新的MS应用程序。 首先开始build模您的业务。 阅读关于Rational-Databases,阅读关于MS Access表,关系,查询。 想想访问是否适合您的业务平台。 在MS Access中创build应用程序,然后您可以回到我们并询问有关迁移。

或者:您可以使用当前的Excel工作表作为外部数据源,并将其作为链接表在访问应用程序中链接。 这是非常不推荐的,因为你实际上没有比你现在的状况更好的收益。 (除了查询查找数据)

 2> Will the VBA program be carried to the new access file 

你的意思是VBA表格? 不,不会。 Access有自己的窗体和控件,看起来比Excel用户窗体好。 您必须在Access中完全重新devise该部分。

 3> Do i need to modify the excel VBA code to fit Access? 

在大多数情况下,除非是通用function。 大多数Excel VBA代码指的是Access没有的单元格或工作表! 换句话说,这取决于代码的大小和复杂程度。 任何特定的代码必须调整到MS Access平台,但调整是非常小的不是一项重大任务。 这又取决于你的代码复杂度。

 4> Can Access handle a 300-500mb file? 

是的,它可以! 最新版本可以达到2GB,但我个人不会留在接入时,我必须处理这样的数据量。 我会寻找分裂/升级数据库到适当的专用数据库引擎,如MSSQL或免费的MySQL服务器。

有些人build议: 500MB的Excel表格有潜在的危险,你应该尽快寻求替代scheme。 如果你打算自己动手,请始终“备份”,因为Access会抛出非常难以理解的随机错误。 find一个有经验的IT人员来帮助你,然后再删除/更新/清除你的数据。 祝你好运

有趣的是我几年前在一个通过一些VBA在Excel中logging交易历史的POS系统面临同样的问题。 我搬到了Access,发现(Access)得到了一点腐败的文件越大。 如果文件退出,我必须build立保护措施以从备份恢复。 我最终转移到了Visual FoxPro,因为我的VBA可以直接翻译出来。 事实上到今天为止。