我知道这个问题已经在网站上通过一些例子得到了回答,但是使用这里的任何一个例子我仍然无法让它们发挥作用。这就是我所拥有的,我在Set rng1 = b1.sht1.Range("A1")
时遇到了问题。我是编码的新手,这看似合乎逻辑,但无法弄清楚任何帮助将不胜感激。我需要做的就是在一个打开的excel文件中打开另一个文件并将数据从sheet1
复制到打开的工作簿中的数据选项卡。
Sub OpenWorkbookToPullData()
Dim path As String
path = "S:\GAM\Middle Office\Equity Admin\aa_RawDataFiles\CollateralUtilisation.xls"
Dim currentWb As Workbook
Set currentWb = ThisWorkbook
Dim openWb As Workbook
Set openWb = Workbooks.Open(path)
Dim openWs As Worksheet
Set openWs = openWb.Sheets("Sheet1")
Dim b1 As Workbook
Dim b2 As Workbook
Set b1 = Workbooks("CollateralUtilisation.xls")
Set b2 = Workbooks("Collateral Management.xlsm")
Dim sht1 As Worksheet
Dim sht2 As Worksheet
Set sht1 = b1.Sheets(1)
Set sht2 = b2.Sheets("DATA")
Dim rng1 As Range
Dim rng2 As Range
Set rng1 = b1.sht1.Range("A1")
Set rng2 = sht2.Range("A1")
rng1 = rng2
Debug.Print "rng1 holds: "; rng1 & vbNewLine & "rng2 holds: " & rng2
'openWb.Close (False)
End Sub
答案 0 :(得分:2)
更改
Set rng1 = b1.sht1.Range("A1")
到
Set rng1 = sht1.Range("A1")
您不需要b1
。已使用Sht1
b1
定义Set sht1 = b1.Sheets(1)
这就像你对Set rng2 = sht2.Range("A1")
使用ADO从已关闭的Excel文件导入。您可能还想查看Import data from a closed workbook (ADO) using VBA in Microsoft Excel