excel - 使用VBA一一刷新我的工作簿的查询 - Excel 2016
问题描述
当我尝试从我的工作簿刷新一些查询时,由于某些原因,我收到此错误:
索引不属于选择(执行错误9)
我开始使用这个:
For Month=1 To 12 Step 1
ThisWorkbook.Connections("Query - Tmp" & Month).OLEDBConnection.Refresh
Next Month
我有 12 个查询 ( Tmp1 / Tmp2 / ...
) 用于 12 张纸(每个月一张)。
我已经尝试过使用:
不工作
ThisWorkbook.ActiveSheet.QueryTables.Count
'(Result: QueryTables.Count = 0)
或者 :
ThisWorkbook.Connections("Query - Tmp1").OLEDBConnection.Refresh
'(Result: same error message)
在职的
ThisWorkbook.RefreshAll
'(all my queries are refreshed)
解决方案
您必须使用索引而不是连接名称。
请参阅https://docs.microsoft.com/fr-fr/office/vba/api/excel.workbook.connections
您可以使用“名称”属性获取连接名称。
所以,这样的事情应该没问题:
For i=0 To NbConnections-1
If ThisWorkBook.Connections(i).Name = "Query - Tmp" & Month Then
ThisWorkbook.Connections(i).OLEDBConnection.Refresh
End If
Next i
推荐阅读
- ionic3 - 类名中带有前缀的 ngClass 提供空间
- excel - 从子文件夹 excel 文件中复制非连续单元格(A1、B5、C6)的数据并粘贴到父文件夹中找到的主文件中
- python - 无法加载安装在虚拟环境中的模块
- html - 如何使用html和css并排放置两个选择属性(以不同的形式)
- xamarin - Xamarin 表单 - 导航推送 - 分屏
- python - 爬取数据基于自动访问基于href的多个页面
- rabbitmq - RawRabbit 的问题:自主发送各种消息
- python - 仅在一列中导出制表符分隔的 CSV 文件
- arrays - 从 makeItem 崩溃中向下转换 NSCollectionViewItem
- google-sheets - 对范围 A:C 中最接近输入值 y 的值进行条件格式化