首页 > 解决方案 > TransferSpreadsheet - 运行时错误 4298 - 指定范围

问题描述

我正在尝试使用 TransferSpreadsheet 将一个选项卡从一个 Excel 文件导入到一个可访问的表中。我的代码工作正常,直到我尝试在我想要引入的选项卡上指定一个范围。

当我在代码中包含“A:AH”时,出现以下错误:运行时错误 4298“您输入的表达式是其中一个参数的错误数据类型”

我已经用谷歌搜索了这个错误,但是所有指定范围的例子都有以下格式,所以我真的不知道我做错了什么。

DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "Accounts_Listing", path, 1, "Summary!", "A:AH"

任何帮助将不胜感激,因为需要指定范围,因为上传的某些文件会带来空白列。

标签: vbams-access

解决方案


根据Microsoft 文档工作表名称没有TransferSpreadsheet参数。您需要修改范围参数以包括工作表名称


的参数TransferSpreadsheet如下:

  1. TransferType (acImport)
  2. SpreadsheetType (12)
  3. TableName (Accounts_Listing)
  4. FileName (小路)
  5. HasFieldNames (1)
  6. Range (“总结!A:啊”)

请注意,您正在做的工作表名称没有参数。简而言之,您的工作表名称被评估为与您的错误一致的范围。将所有这些结合在一起,你应该有

DoCmd.TransferSpreadsheet acImport, 12, "Accounts_Listing", path, 1, "Summary!A:AH"

推荐阅读