Цикл по листам Excel - PullRequest
       2

Цикл по листам Excel

0 голосов
/ 16 марта 2019

Я перебираю файлы Excel в папке, чтобы объединить все данные в одной новой электронной таблице в новом файле.

У меня одновременно открыты три файла Excel:

  • Первый - это основной файл, в котором я пишу код.
  • Второй - это файл, из которого я копирую.
  • Третий - это новый файл, в котором яя пытаюсь объединить данные.

Проблема в том, что когда я открываю один из файлов, из которого нужно скопировать (2-й файл), и копирую / вставляю данные в новый 3-й файл, я не могузакройте второй файл.

Так что это проблема.Я много пробовал, но до конца не дошло.

1 Ответ

0 голосов
/ 16 марта 2019

Как отмечается в комментариях, без кода вам трудно помочь.

Однако, надеюсь, это поможет вам и даст вам некоторые идеи.

Это код, который я используюзапросить диалоговое окно выбора файлов для выбора файлов.Будет запрошен 1 файл, для которого будет установлено значение wb_file1, а для активного листа - ws_file1.Вы можете изменить рабочий лист так, как вам нужно.Однако, если имена файлов всегда одинаковы, вы можете создать цикл для просмотра файлов.

Просто убедитесь, что вы установили рабочие книги и рабочие таблицы, чтобы вы могли ссылаться на них и легко вносить изменения.

Dim wb_file1 As Workbook
Dim ws_file1 As Worksheet
Dim fileName As String

With Application.FileDialog(msoFileDialogFilePicker)
        .AllowMultiSelect = False
        .Title = "Select the file"
        .Filters.Clear
        .Filters.Add "Custom Excel Files", "*.xlsx, *xls, *csv"
        .Show
        fileName = .SelectedItems.Item(1)
    End With
    If InStr(fileName, ".xlsx") = 0 Then
    Exit Sub
    End If
    Workbooks.Open fileName
    'Set the Workforce Review raw workbook
    Set wb_file1 = ActiveWorkbook
    'Set the worksheet
    Set ws_file1 = wb_imd.ActiveSheet
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...