VBA: откройте файл xls и добавьте его в текущую книгу - PullRequest
2 голосов
/ 07 сентября 2010

У меня проблемы с этим. У меня есть файл xls, который содержит один лист данных. В моем основном приложении, другой книге, я хочу открыть этот файл xls одного листа и скопировать лист в текущую книгу.

Я могу сделать это, если выберу диапазон исходного файла для копирования, но этот единственный файл может измениться, поэтому я предпочел бы найти решение, которое просто копирует весь файл. Вот код, с которым я работал:

Set src = Workbooks.Open(Filename:="thefile.xlsx")

Range("F4:F67").Copy
ThisWorkbook.Activate
Sheets("Result").Activate
Range("A1").Select
ActiveSheet.Paste

Я ценю любую помощь с этим.

Спасибо

Ответы [ 2 ]

4 голосов
/ 07 сентября 2010

Вот простое решение, которое не требует .Select или .Activate.

Sub getSheetFromA()
    getSheet "a.xls", 1
End Sub

Sub getSheet(filename As String, sheetNr As Integer)
    Dim srcWorkbook As Workbook

    Set srcWorkbook = Application.Workbooks.Open(filename)
    srcWorkbook.Worksheets(sheetNr).Copy after:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)

    srcWorkbook.Close
    Set srcWorkbook = Nothing
End Sub
2 голосов
/ 07 сентября 2010

Я нашел решение:

Set src = Workbooks.Open(Filename:="file.xlsx")
Cells.Copy

ThisWorkbook.Activate
Sheets("Result").Activate
Range("A1").Select
ActiveSheet.Paste
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...