1

我们的组织获得了一个电子表格模板来批量导入网站。

用户更新是一件很麻烦的事,因为它以以下方式在一个页面上构建:

 |        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 中指定将数据导出到的确切位置?
  • 如何确保每个表的数据的起始位置出现在它前面的表的最后一条记录之后?

非常感谢

4

1 回答 1

2
  1. 两者都可以,这取决于您自己的喜好...但是,如果围绕此数据的所有其他功能都将位于 Access 中,我首先会考虑将其也放入 Access 中。
  2. 您可以通过 Excel 应用程序对象 > 工作簿对象 > 工作表对象 > 范围对象直接从 VBA 代码中引用范围
  3. 创建引用这些位置的范围对象或有一个计数器以数字方式跟踪(计算行数)
于 2013-05-07T11:15:23.420 回答