从关闭的工作簿中复制数据

2024-06-18 15:59:39 浏览数 (3)

标签:VBA

要从关闭的工作簿中复制数据,有很多种方法,下面介绍最基本的一种方法。

假设要将一个工作簿中工作表Sheet2的单元格区域A1:B50的数据复制到当前工作簿的工作表Sheet1相应的单元格区域,可以使用下面的代码:

代码语言:javascript复制
Sub testCopyValueFromClosedWorkbook()
 Dim strFile As String
 Dim wbThis As Workbook
 Dim wksThis As Worksheet
 Dim wbThat As Workbook
 Dim wksThat As Worksheet
 
 Set wbThis = ThisWorkbook
 Set wksThis = wbThis.Sheets("Sheet1")
 
 With Application.FileDialog(msoFileDialogFilePicker)
   If .Show = -1 Then
     strFile = .SelectedItems(1)
   End If
 End With
 
 If strFile <> "" Then
   Set wbThat = Workbooks.Open(strFile)
   DoEvents
   Set wksThat = wbThat.Sheets("Sheet2")
   wksThis.Range("A1:B50").Value = wksThat.Range("A1:B50").Value
   wbThat.Close False
 End If
End Sub

代码的思路很简单:打开选择文件对话框,选择要复制的数据所在的工作簿文件,然后打开该工作簿,将其中数据所在工作表相应单元格区域数据复制到当前工作簿相应工作表区域,然后关闭该工作簿。

0 人点赞