执行此问题的代码实际上正在工作,但是文件浏览器遇到了困难。当我执行代码时,文件浏览器在执行“ mydata”行时在预期的位置打开两次,然后在.Formula = mydata行中再次打开,我不知道为什么。
另外看来,放入单元格中的值是在我的代码的.Formula = mydata行而不是代码的mydata行中选择的工作簿中的值。
由于我不知道如何解决此问题,因此我没有做太多尝试。我正在研究关闭文件浏览器的命令。
Public Sub CreateCharts()
Dim ws As Worksheet
Dim wb As Workbook
Dim SelectedFiles As Variant
Dim mydata As String
SelectedFiles = Application.GetOpenFilename(MultiSelect:=True)
For i = LBound(SelectedFiles) To UBound(SelectedFiles)
mydata = "='C:\Users\ME\Desktop\FOLDER\[SelectedFiles]CATS'!" & Range(Cells(1, 1), Cells(11, 21)).Address
With ThisWorkbook.Worksheets("MASTER CHART").Range(Cells(1, 1), Cells(11, 21))
.Formula = mydata
.Value2 = .Value2
End With
Next i
End Sub
我希望文件浏览器只打开一次,然后实际上将选定的文件路径实现到单元格中。
答案 0 :(得分:0)
没有openig工作簿就不能这样做。
您可以在excel中通过连接检索数据,并从excel上的表中获取数据。
使用ADODB库
U可以使用adodb.connection并在excel中创建一个连接字符串!