Excel VBA - копировать целые столбцы из закрытой книги - PullRequest
2 голосов
/ 11 мая 2011

У меня есть книга Excel с большим количеством информации, которую я хочу извлечь и вставить в новую книгу, в которой содержится этот макрос.

Что мне действительно нужно, так это общая функция, которая принимает несколько аргументов, таких как sourcefile и column. Мне нужны только столбцы, но весь столбец из исходного файла.

Вот так я представляю функцию, чтобы она выглядела (псевдокод)

Public Function getColumnFromWorkbook(ByVal strSourceFile, ByVal sourceWorksheet)
    Application.ScreenUpdating = False
    Set wb = Workbooks.Open(strSourceFile, True, True)

    With ThisWorkbook.Worksheets(destSheet)
        .column(1) = wb.Worksheets(sourceWorksheet).Columns(sourceColumn)
    End With        
End Function

Функция выше, вероятно, не работает. Но это может показать, что я, по сути, после:)

1 Ответ

3 голосов
/ 11 мая 2011

Это, кажется, работает для меня - заметьте, я расширил список параметров. Нет проверки ошибок.

Public Function getColumnFromWorkbook(ByVal strSourceFile As String, ByVal sourceWorksheetName As String, ByVal sourceColumn As Long, ByVal destSheet As Worksheet)

    Application.ScreenUpdating = False

    Dim wb As Workbook
    Set wb = Workbooks.Open(strSourceFile, True, True)
    wb.Worksheets(sourceWorksheetName).Columns(sourceColumn).Copy (destSheet.Columns(1))
    wb.Close

    Application.ScreenUpdating = True

End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...