从closures的Excel文件导入数据

我知道这个问题已经在网站上回答了几个例子,但是使用这里的任何例子,我仍然无法让他们工作。 这是我的,我得到一个问题,当涉及到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 

更改

 Set rng1 = b1.sht1.Range("A1") 

 Set rng1 = sht1.Range("A1") 

你不需要b1 。 已经在Set sht1 = b1.Sheets(1)使用b1定义了Set sht1 = b1.Sheets(1)

这就像你为什么Set rng2 = sht2.Range("A1")

使用ADO从closures的Excel文件导入。 您可能还想要在Microsoft Excel中使用VBA查看从closures的工作簿(ADO)导入数据