excel - Expression.Error:键与表中的任何行都不匹配
问题描述
我正在尝试修复我的同事创建的 Access/Excel 工具,但我不知道该怎么做。她刚离开公司,所以我无法联系她询问有关此工具的问题。
她在 Excel 工作表中设置了一个按钮。按下时,该按钮应该创建一个新工作表并从 Access 数据库中拉入一个 QueryTable。
这是她的代码:
Sub Import()
'
' Import Macro
'
' Keyboard Shortcut: Ctrl+Shift+I
'
ActiveWorkbook.Worksheets.Add
With ActiveSheet.ListObjects.Add(SourceType:=0, Source:= _
"OLEDB;Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=1stEmail-MailMergeReady;Extended Properties=""""" _
, Destination:=Range("$A$1")).QueryTable
.CommandType = xlCmdSql
.CommandText = Array("SELECT * FROM [1stEmail-MailMergeReady]")
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.Refresh BackgroundQuery:=False
End With
End Sub
按下按钮时,它会成功创建新工作表,然后在创建表时冻结 ( ExternalData_1: Getting Data ...
)。我收到此错误消息:
Expression.Error: The key didn't match any rows in the table
当我单击调试时,它会突出显示该.Refresh BackgroundQuery:=False
行。
我尝试用简单的方式替换该行.Refresh
并收到相同的错误消息。我还确认它指向的所有位置都是有效的并且根本没有移动。
任何帮助是极大的赞赏!
解决方案
推荐阅读
- javascript - 在独立的 html 页面中使用 javascript AWS SDK
- google-cloud-platform - Dialogflow ES 无法触发 Intent
- javascript - 无需重新加载即可更新数据
- r - 如何在R中的函数中重命名数据框的列?
- c++ - 当我们已经拥有更强大的向量时,为什么还需要堆栈?
- xilinx - 警告:未安装 VC++ 2008 运行时库。赛灵思
- python-3.x - 在单独的行和文本之间查找日期的正则表达式模式
- javascript - 根据 url 显示项目时出现问题 - React
- python - VS 代码 python 格式化程序不工作(autopep8,黑色,yapf)
- http - System.ArgumentException: „提供的 URI 方案“http”无效;预期的“https”。参数名称:via”