excel - 从关闭的工作簿中检索数据而不提示选择工作簿文件?
问题描述
以下代码非常适合从文件路径中已关闭的工作簿中检索数据。但是,每次循环都会提示我选择实际文件。如何避免手动选择文件?谢谢你
Sub BrandSpecificSettings()
Dim i As Integer
Dim inputs As Worksheet
Dim brand As String
Set inputs = Worksheets("inputs")
brand = inputs.Range("k2").Value
For i = 1 To 27
If inputs.Range("a" & i).Value = "" Then
i = i + 1
Else:
inputs.Range("b" & i).Value = "='J:\Wassner Enterprises\brand inventory sheets\[" & brand & ".xlsm]settings'!b" & i
End If
Next i
解决方案
使用GetObject,您可以从工作簿中检索信息而无需显示。
Sub BrandSpecificSettings()
Dim i As Integer
Dim inputs As Worksheet: Set inputs = Worksheets("inputs")
Dim brand As String: brand = inputs.Range("k2").Value
Dim Filename As String: Filename = "J:\Wassner Enterprises\brand inventory sheets\" & brand & ".xlsm"
Dim wbTemp As Workbook: Set wbTemp = GetObject(Filename)
Dim wsTemp As Worksheet: Set wsTemp = wbTemp.Sheets("Settings")
For i = 1 To 27
If inputs.Range("A" & i).Value = "" Then
i = i + 1
Else:
inputs.Range("B" & i).Value = wsTemp.Range("B" & i).Value
End If
Next i
' Closes the workbook
wbTemp.Close SaveChanges:=False
End Sub
推荐阅读
- powerbi - DAX - 在 Power BI 中创建一个忽略除一个之外的所有过滤器的度量
- python-3.x - 保存经过训练以减少尺寸的自动编码器
- airflow - 如何动态创建具有不同参数的运算符
- php - 太多的 mySql 事件
- asp.net - 如何在asp.net网站中包含数字签名
- dart - 如何修复future类型的值
不能分配给 int 类型的变量 - python - 如何在 Google Colaboratory 会话中运行 Kera 的 plot_model?
- node.js - 使用 knex 重命名 mssql 中的列名
- csv - 使用 awk 将各种新列添加到 CSV 文件
- reactjs - 使用 Ant Design 和 Form.create 时组件的单元测试