使用TransferSpreadsheet导入Excel电子表格时出错

使用TransferSpreadsheet导入Excel电子表格时出错,excel,ms-access,vba,Excel,Ms Access,Vba,我有一个例程,可以帮助我在标准化的工作表中找到一行单词。 基于单词的位置-例如,我在“A”列中搜索 它在第7行找到这个词 现在我知道我可以使用范围A8:M14作为我想要导入到表中的数据,所以我创建了一个函数“GETBASELINE”,它只返回字符串-A8:M14 现在我有了一个名为tbl_TEMP_Import的表,其中包含这些字段 基线| 10月| 11月| 12月| 1月| 2月| 3月| 4月| 5月| 6月| 7月| 8月| 9月 我这样称呼它: DoCmd.TransferSpread

我有一个例程,可以帮助我在标准化的工作表中找到一行单词。 基于单词的位置-例如,我在“A”列中搜索 它在第7行找到这个词

现在我知道我可以使用范围A8:M14作为我想要导入到表中的数据,所以我创建了一个函数“GETBASELINE”,它只返回字符串-A8:M14

现在我有了一个名为tbl_TEMP_Import的表,其中包含这些字段

基线| 10月| 11月| 12月| 1月| 2月| 3月| 4月| 5月| 6月| 7月| 8月| 9月

我这样称呼它:

DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "tbl_TEMP_Import", strPath, False, GetBASELINE(strPath, strSheet)
我收到错误2391目标tbl\U TEMP\U导入中不存在字段“F1”

如果我将“has field names”更改为“True” 我收到错误3270“未找到属性”


我希望我能做得更好。完成此操作似乎不太复杂。

对于“有字段名”用“True”回答: 您还必须为表提供字段标题。。。所以GETBASELINE的代码必须等于A7:M8。。。我不知道14是从哪里来的

A7:M7是字段名 A8:M8是第一组值

用“False”回答“has Field names”: 您必须更改字段名,因为调用会引入临时字段名F1、F2等 您可以手动更改名称。它也是可编程的


在任何情况下,一旦您以一种方式调用脚本,请注意不要将它们相互“混合”!在打下一个电话之前删除一个

谢谢你,马蒂。”GETBASELINE’只是提醒我在电子表格中查找单词:BASELINE。我完全想把A8:M14号牢房拉进去。如果可以的话,我打算把字段名拉进去,但这行不通,因为有些单元格是空白的。我的实现中缺少的是“工作表名称,因此它需要[SheetName]”!A8:M14。这就是为什么它会出现“未找到属性”错误。此外,正如您所说,我刚刚决定让tbl_TEMP_Import具有字段名F1、F2、F3等。但奇怪的是,当我选择“False”时,它知道该怎么做。