复杂的导入/导出数据访问/Excel
Posted
技术标签:
【中文标题】复杂的导入/导出数据访问/Excel【英文标题】:Complex Import/Export Data Access/Excel 【发布时间】:2013-05-01 07:23:45 【问题描述】:我们的组织获得了一个电子表格模板,可以批量导入网站。
对于用户来说更新是一件很麻烦的事,因为它以以下方式在一个页面上构建:
| A | B | C |
1| ProvidersSection | | |
2| ProviderHeading1 | ProviderHeading2 | ProviderHeading3 |
3| ProviderData1 | ProviderData2 | ProviderData3 |
4| VenuesSection | | |
5| VenuesHeading1 | VenuesHeading2 | VenuesHeading3 |
6| VenuesData1 | VenuesData2 | VenuesData3 |
7| OpportSection | | |
8| OpportHeading1 | OpportHeading2 | OpportHeading3 |
9| OpportData1 | OpportData2 | OpportData3 |
我不知道这是否清楚,但基本上它是 3 个相互堆叠的表格:Providers、Venues 和 Opportunities。
例如,Provider 的表由 A1 中的“ProvidersSection”文本表示,然后在该行下方(第 2 行)是 Providers 表的列标题,然后在该行下方(第 3 行)是数据对应于提供程序表的列标题。
每个“数据”部分不限于我在上面示例中勾勒的 1 行,因此如果提供者表有 2 条记录,则场所部分将被下推到第 5 行。
我想做的是将此电子表格的数据保存在 3 个 Access 表中,并使用 VBA 以上面指定的格式填充电子表格。
我之前做过一些 VBA 导出,但还不是很复杂,所以我可以用一些指针来做,特别是:
这是最好的方法是将 Access VBA 导出到 Excel 还是从 Access 导入 Excel VBA? 什么方法可以让我在 Excel 中指定要导出数据的确切位置? 如何确保每个表的数据的起始位置都在前表的最后一条记录之后?非常感谢
【问题讨论】:
【参考方案1】:-
两者都可以,这取决于您自己的偏好...但是,如果围绕此数据的所有其他功能都将位于 Access 中,我会首先考虑将其也放入 Access 中。
您可以通过 Excel 应用程序对象 > 工作簿对象 > 工作表对象 > 范围对象直接从 VBA 代码中引用范围
创建引用这些位置的范围对象或有一个计数器以数字方式跟踪(计算行数)
【讨论】:
以上是关于复杂的导入/导出数据访问/Excel的主要内容,如果未能解决你的问题,请参考以下文章