' ToD: доделать 5/2 Option Explicit Private sFileDest As String, sFileSour As String Private wb_Sour As Workbook, wb_Dest As Workbook Private ws_Sour As Worksheet, ws_Dest As Worksheet Private rng As Range, arr() As Variant Private bDebug As Boolean Public Sub Этап_01() '1. Общее описание процесса: Заполнить книгу "Категории.xls" _ на основании Исходных данных, которые лежат в папке "Премии" и "Списки сотрудников" '2. Из каких книг и столбцов в какие книги и столбцы данные _ должны переноситься: Application.ScreenUpdating = 0 bDebug = 1 Dim FileName_Full As String, wb_Name As String wb_Name = "Категории.xls" FileName_Full = ThisWorkbook.Path & "\1. Категории\" & wb_Name If Not ОткрытаЛиКнига(wb_Name) Then _ Workbooks.Open FileName_Full Set wb_Dest = Workbooks(wb_Name) Set ws_Dest = wb_Dest.Worksheets("Выгрузка") If bDebug Then ws_Dest.Activate Dim strFileName As String Dim strFolder As String: strFolder = ThisWorkbook.Path & "\1. Категории\Исходные данные\Списки сотрудников\" Dim strFileSpec As String: strFileSpec = strFolder & "*.*" ' Обход файлов в заданном каталоге strFileName = Dir(strFileSpec) Do While Len(strFileName) > 0 If Not ОткрытаЛиКнига(strFileName) Then _ Workbooks.Open strFolder & strFileName Set wb_Sour = Workbooks(ИмяФайлаБезПути(strFileName)) Set ws_Sour = wb_Sour.Worksheets(1) If bDebug Then wb_Sour.Activate 'ФИО Сотрудника Книги из папки "Списки сотрудников" 'Из столбца "Сотрудник" (B) столбец "ФИО" (А) Вставить в формате Ф И.О., например "Абрамов А.А." With ws_Sour Set rng = .Range(.Cells(9, 2), .Cells(Строка_Крайняя(ws_Sour), 4)) ' End With arr = rng.Value ФИО_Укоротить Должности_Заменить Five_2 Этап_01_Втавить_на_Лист ' Файл следующий wb_Sour.Close False strFileName = Dir Loop End Sub