Как вернуть результаты (выполненные в другой книге) в исходную книгу? - PullRequest
0 голосов
/ 14 февраля 2019

У меня есть кнопка «обновить» в рабочей книге1, затем он просит пользователя найти файл Excel, открытая рабочая книга будет запускать RunCode(), суммируя данные, и их результат будет сохранен в диапазоне A200: D256

Я знаю, что пропустил код для открытого workbook(=workbook2), например, dim XXXXXX

Пожалуйста, помогите, я понятия не имею, как затемнить?

Вот код:

Sub Button1_Click()

  Dim sourceSheet As Worksheet
  Set sourceSheet = ActiveSheet

' Create and set the file dialog object.
    Dim fd As Office.FileDialog
    Set fd = Application.FileDialog(msoFileDialogFilePicker)

    With fd
        .Filters.Clear      ' Clear all the filters

        ' Give the dialog box a title, word for doc or Excel for excel files
        .Title = "Select an Excel File"

        ' Apply filter to show only a particular type of files
        .Filters.Add "Excel Files", "*.xls?", 1

        ' Do not allow users to select more than one file
        ' Set the value as "True" to select multiple files
        .AllowMultiSelect = False

        ' Show the file.
        If .Show = True Then
           Workbooks.Open Filename:=.SelectedItems(1)
           Debug.Print .SelectedItems(1)

           Call RunCode
        End If
    End With

    Call sourceSheet.Activate

    Dim lasRow As Long
    lastRow = Cells(Rows.Count, 1).End(xlUp).row

End Sub

Спасибо за любую помощь!

1 Ответ

0 голосов
/ 14 февраля 2019

Вы можете ссылаться на открытую рабочую книгу, если используете что-то вроде:

Dim wbk as workbook
Set wbk = Workbooks.Open Filename:=.SelectedItems(1)

Вы можете получить обобщенные данные как:

wbk.worksheets("sheetname").range("A200:D256").copy
thisworkbook.worksheets("sheetname").range("first cell to copy to").pastespecial (xlpasteall)

Вместо листов ("имя листа")Вы также можете использовать рабочие листы (sheetnumber) или Activesheet.Вместо pastespecial (XlPasteAll) вы можете использовать pastespecial (XlPasteValues), который подходит вам лучше всего.

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