复杂的导入/导出数据访问/ Excel

时间:2013-05-07 11:01:43

标签: excel vba ms-access excel-vba access-vba

我们的组织已获得电子表格模板,可以批量导入网站。

对于用户进行更新非常有用,因为它以一种单一的方式构建在一个页面上:

 |        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张桌子叠加在一起:提供商,场地和机会。

因此,例如,Provider的表由A1中的“ProvidersSection”文本表示,然后在下面的行中(第2行)是Providers表的列标题,然后在下面(第3行)是数据这对应于提供者表的列标题。

每个“数据”部分不限于我在上面的示例中描绘的1行,因此如果提供者表有2条记录,则场地部分将被下推到第5行。

我想要做的是将此电子表格的数据保存在3个Access表格中,并使用VBA以上面指定的格式填充电子表格。

我以前做过一些VBA导出,但并不完全是这种复杂性,所以我可以做一些指针,特别是:

  • 最好是将Access VBA导出到Excel还是从Access导入Excel VBA?
  • 允许我在Excel中指定确切位置以将数据导出到?
  • 的方法是什么
  • 如何确保每个表格数据的起始位置出现在其前面的表格的最后一条记录之后?

非常感谢

1 个答案:

答案 0 :(得分:1)

  1. 要么会这样做,取决于你自己的喜好......但是如果围绕这些数据的所有其他功能都在Access中,我会首先考虑将它放在Access中。
  2. 您可以通过Excel应用程序对象直接从您的VBA代码中引用范围&gt; <工作簿对象>工作表对象&gt;范围对象
  3. 创建引用这些位置的范围对象或使计数器以数字方式跟踪(计算行数)