consolidator
688 строк · 27.7 Кб
1Attribute VB_Name = "M2_Промежуточный"
2
3Sub П0800_Открытие_файла_ИмяФайла_Спр()
4' Ищем файлы в заданной папке по заданной маске,
5' и выводим на лист список их параметров.
6' Просматриваются папки с заданной глубиной вложения.
7Dim coll As Collection, ПутьКПапке$, МаскаПоиска$, ГлубинаПоиска%
8' ПутьКПапке$ = "\\files\SDeskFilesFinance\Укрупненные планы\"
9ГГГГ = Format(Year(Date), "0000")
10MM = Format(Month(Date), "00")
11If MM = 12 Then ГГГГ = ГГГГ + 1
12ПутьКПапке$ = Workbooks(ИмяФайла_Раб).Sheets("Параметры").Cells(3, 1) & "\" & ГГГГ
13
14МаскаПоиска$ = "*.xls*"
15ГлубинаПоиска% = Val(4)
16If ГлубинаПоиска% = 0 Then ГлубинаПоиска% = 999 ' без ограничения по глубине
17' считываем в колекцию coll нужные имена файлов
18Set coll = FilenamesCollection(ПутьКПапке$, МаскаПоиска$, ГлубинаПоиска%)
19'''Application.ScreenUpdating = False ' отключаем обновление экрана
20' выводим результаты (список файлов, и их характеристик) на лист
21макс = 0
22f = 0
23For i = 1 To coll.Count ' перебираем все элементы коллекции, содержащей пути к файлам
24НомерФайла = i
25ПутьКФайлу = coll(i)
26ИмяФайла = Dir(ПутьКФайлу)
27ДатаСоздания = FileDateTime(ПутьКФайлу)
28РазмерФайла = FileLen(ПутьКФайлу)
29' выводим на лист очередную строку
30' Range("a" & Rows.Count).End(xlUp).Offset(1).Resize(, 5).Value = _
31' Array(НомерФайла, ИмяФайла, ПутьКФайлу, ДатаСоздания, РазмерФайла)
32'
33' ' если нужна гиперссылка на файл во втором столбце
34' ActiveSheet.Hyperlinks.Add Range("b" & Rows.Count).End(xlUp), ПутьКФайлу, "", _
35' "Открыть файл" & vbNewLine & ИмяФайла
36' DoEvents ' временно передаём управление ОС
37q1 = InStr(1, ИмяФайла, "УП ")
38If IsNumeric(Val(Mid(ИмяФайла, 4, 4))) = True Then
39If InStr(1, ИмяФайла, "УП ") > 0 _
40And InStr(1, LCase(ИмяФайла), "модель") > 0 Then
41If макс < Val(Mid(ИмяФайла, 4, 4)) Then
42If InStr(1, LCase(ПутьКФайлу), "основ") > 0 Then
43макс = Val(Mid(ИмяФайла, 4, 4))
44путь = Left(ПутьКФайлу, InStr(1, ПутьКФайлу, "УП ") - 1)
45файл = ИмяФайла
46f = 1
47ElseIf f = 0 Then
48путь = Left(ПутьКФайлу, InStr(1, ПутьКФайлу, "УП ") - 1)
49макс = Val(Mid(ИмяФайла, 4, 4))
50файл = ИмяФайла
51End If
52End If
53End If
54End If
55Next
56q = q
57' путь = Left(coll(8), InStr(1, coll(8), "УП ") - 1)
58' Workbooks.Open путь & "УП " & макс & " Входные данные - модель*", ReadOnly:=True
59Workbooks.Open путь & файл, ReadOnly:=True
60ИмяФайла_Спр = ActiveWorkbook.Name
61End Sub
62
63Function FilenamesCollection(ByVal FolderPath As String, Optional ByVal Mask As String = "", _
64Optional ByVal SearchDeep As Long = 999) As Collection
65' Получает в качестве параметра путь к папке FolderPath,
66' маску имени искомых файлов Mask (будут отобраны только файлы с такой маской/расширением)
67' и глубину поиска SearchDeep в подпапках (если SearchDeep=1, то подпапки не просматриваются).
68' Возвращает коллекцию, содержащую полные пути найденных файлов
69' (применяется рекурсивный вызов процедуры GetAllFileNamesUsingFSO)
70
71Set FilenamesCollection = New Collection ' создаём пустую коллекцию
72Set FSO = CreateObject("Scripting.FileSystemObject") ' создаём экземпляр FileSystemObject
73GetAllFileNamesUsingFSO FolderPath, Mask, FSO, FilenamesCollection, SearchDeep ' поиск
74Set FSO = Nothing: Application.StatusBar = False ' очистка строки состояния Excel
75End Function
76
77Function GetAllFileNamesUsingFSO(ByVal FolderPath As String, ByVal Mask As String, ByRef FSO, _
78ByRef FileNamesColl As Collection, ByVal SearchDeep As Long)
79' перебирает все файлы и подпапки в папке FolderPath, используя объект FSO
80' перебор папок осуществляется в том случае, если SearchDeep > 1
81' добавляет пути найденных файлов в коллекцию FileNamesColl
82On Error Resume Next: Set curfold = FSO.GetFolder(FolderPath)
83If Not curfold Is Nothing Then ' если удалось получить доступ к папке
84
85' раскомментируйте эту строку для вывода пути к просматриваемой
86' в текущий момент папке в строку состояния Excel
87' Application.StatusBar = "Поиск в папке: " & FolderPath
88
89For Each fil In curfold.Files ' перебираем все файлы в папке FolderPath
90If fil.Name Like "*" & Mask Then FileNamesColl.Add fil.Path
91Next
92SearchDeep = SearchDeep - 1 ' уменьшаем глубину поиска в подпапках
93If SearchDeep Then ' если надо искать глубже
94For Each sfol In curfold.SubFolders ' перебираем все подпапки в папке FolderPath
95GetAllFileNamesUsingFSO sfol.Path, Mask, FSO, FileNamesColl, SearchDeep
96Next
97End If
98Set fil = Nothing: Set curfold = Nothing ' очищаем переменные
99End If
100End Function
101
102Sub П0260_Округление_Диаметров()
103Диаметр = Round(Диаметр, 0)
104If Диаметр = 324 Then Диаметр = 325
105
106End Sub
107Sub П0880_Автофильтр()
108On Error GoTo выход
109Столбцов = Workbooks(ИмяФайла_Раб).Sheets("Позиции на укрупнение").Cells(1, 1).CurrentRegion.Columns.Count
110Строк = Workbooks(ИмяФайла_Раб).Sheets("Позиции на укрупнение").Cells(1, 1).CurrentRegion.Rows.Count
111If ActiveSheet.AutoFilterMode Then
112For i = 1 To Столбцов
113' If Cells(1, i) = "" Then Exit For
114If ActiveSheet.AutoFilter.Filters(i).On Then
115ActiveSheet.Range(Cells(1, 1), Cells(Строк, Столбцов)).AutoFilter Field:=i
116' Exit For
117End If
118Next
119Else
120f = 0
121For i1 = 1 To 100 'Верхняя строка
122For i2 = 1 To 100 'левый столбец
123If Workbooks(ИмяФайла_Исх).Sheets(i_лист).Cells(i1, i2) <> "" Then f = 1: Exit For
124Next
125If f = 1 Then Exit For
126Next
127Cells(i1, i2).Select
128Selection.AutoFilter
129End If
130выход:
131Range("A1").Select
132' Selection.AutoFilter
133
134End Sub
135Sub П0890_Вывод_всех_позиций_Перебор_файлов()
136' ИмяФайла_Исх = "прочие"
137' П0891_Вывод_всех_позиций
138
139For i = 2 To 100
140q = Workbooks(ИмяФайла_Раб).Sheets("Параметры").Cells(i, 10)
141If q = "" Then Exit For
142If Flag_Прочие = 1 Or i > 2 Then
143Windows(q).Activate
144ИмяФайла_Исх = q
145П0891_Вывод_всех_позиций
146End If
147Next
148
149' ИмяФайла_Исх = "КПК.xlsx"
150' П0891_Вывод_всех_позиций
151' ИмяФайла_Исх = "прокат.xlsx"
152' П0891_Вывод_всех_позиций
153' ИмяФайла_Исх = "ТЭСЦ-2.xlsx"
154' П0891_Вывод_всех_позиций
155' ИмяФайла_Исх = "ТЭСЦ-3.xlsx"
156' П0891_Вывод_всех_позиций
157' ИмяФайла_Исх = "ТЭСЦ-5.xlsx"
158' П0891_Вывод_всех_позиций
159' ИмяФайла_Исх = "ТЭСЦ-4.xlsx"
160' П0891_Вывод_всех_позиций
161'
162End Sub
163Sub П0891_Вывод_всех_позиций()
164Workbooks(ИмяФайла_Раб).Activate
165Sheets("Позиции на укрупнение").Activate
166
167Workbooks(ИмяФайла_Исх).Activate
168Листов_в_Исх = Workbooks(ИмяФайла_Исх).Sheets.Count
169
170For i_лист = 1 To Листов_в_Исх 'Перебор листов
171
172Столбцов_0 = Workbooks(ИмяФайла_Раб).Sheets("Позиции на укрупнение").Cells(1, 1).CurrentRegion.Columns.Count
173Строк_0 = Workbooks(ИмяФайла_Раб).Sheets("Позиции на укрупнение").Cells(1, 1).CurrentRegion.Rows.Count + 1
174If Workbooks(ИмяФайла_Исх).Sheets(i_лист).Tab.Color = 255 Or InStr(1, ИмяФайла_Исх, "SAP") > 0 Then
175Windows(ИмяФайла_Исх).Activate
176Sheets(i_лист).Activate
177f = 0
178For i = 1 To 200 'Первый не пустой столбец
179For ii = 1 To 1000 'Первая не пустая строка
180If Workbooks(ИмяФайла_Исх).Sheets(i_лист).Cells(ii, i) <> "" Then f = 1: Exit For
181Next
182If f = 1 Then Exit For
183Next
184If ii > 1 Then
185Rows("1:" & ii - 1).Select
186Selection.Delete Shift:=xlUp
187ii = 1
188End If
189If i > 1 Then
190For qi = 1 To i - 1
191Columns("A:A").Select
192Selection.Delete Shift:=xlToLeft
193i = i - 1
194Next
195
196End If
197П0880_Автофильтр
198Столбцов_1 = Workbooks(ИмяФайла_Исх).Sheets(i_лист).Cells(1, i).CurrentRegion.Columns.Count + i - 1
199Строк_1 = Workbooks(ИмяФайла_Исх).Sheets(i_лист).Cells(1, i).CurrentRegion.Rows.Count
200ActiveSheet.Range(Cells(1, 1), Cells(Строк_1, Столбцов_1)).AutoFilter Field:=1, Criteria1:="<>"
201If Workbooks(ИмяФайла_Исх).Sheets(i_лист).Name = "ZSRP" Then
202q = q
203End If
204If Строк_1 > 1 Then
205For i_0 = 1 To Столбцов_0
206For i_1 = i To Столбцов_1
207q_0 = Workbooks(ИмяФайла_Раб).Sheets("Позиции на укрупнение").Cells(1, i_0)
208q_1 = Workbooks(ИмяФайла_Исх).Sheets(i_лист).Cells(1, i_1)
209If q_0 = "Наименование УП" Then i_00 = i_0
210If q_0 = "Текущий продукт УП" Then i_01 = i_0
211If q_0 = q_1 Then
212Соотв_Столбец(i_0) = i_1
213Windows(ИмяФайла_Исх).Activate
214Sheets(i_лист).Activate
215Range(Cells(2, i_1), Cells(Строк_1, i_1)).Select
216Selection.Copy
217Windows(ИмяФайла_Раб).Activate
218Sheets("Позиции на укрупнение").Activate
219Cells(Строк_0, i_0).Select
220Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
221:=False, Transpose:=False
222''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
223Cells(Строк_0, 3) = ИмяФайла_Исх
224''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
225
226' Selection.Paste
227End If
228' If q_0 = "Вид материала в SAP ERP" And Cells(Строк_0, i_0) = "" Then
229' q_2 = Строк_1 - 2
230' For i_2 = Строк_0 To Строк_0 + q_2
231' Workbooks(ИмяФайла_Раб).Sheets("Позиции на укрупнение").Cells(i_2, i_0) _
232' = Workbooks(ИмяФайла_Исх).Sheets(i_лист).Name
233' Next
234' End If
235Next
236Next
237End If
238End If
239Next
240If i_00 > 0 And i_01 > 0 And Строк_1 > 1 Then
241Windows(ИмяФайла_Раб).Activate
242Sheets("Позиции на укрупнение").Activate
243Range(Cells(2, i_00), Cells(Строк_1, i_00)).Select
244Selection.Copy
245Cells(2, i_01).Select
246Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
247:=False, Transpose:=False
248Range(Cells(2, i_00), Cells(Строк_1, i_00)).ClearContents
249End If
250
251' ActiveWindow.WindowState = xlMaximized
252End Sub
253
254'Sub П0890_Вывод_всех_позиций_1()
255' Workbooks(ИмяФайла_Раб).Activate
256' Sheets("Позиции на укрупнение").Activate
257'' ActiveWindow.WindowState = xlMinimized
258' Столбцов_0 = Workbooks(ИмяФайла_Раб).Sheets("Позиции на укрупнение").Cells(1, 1).CurrentRegion.Columns.Count
259'
260' Workbooks(ИмяФайла_Исх).Activate
261' Листов_в_Исх = Workbooks(ИмяФайла_Исх).Sheets.Count
262' T = Time
263' For i_лист = 1 To Листов_в_Исх 'Перебор листов
264' For i = 1 To 100
265' If Workbooks(ИмяФайла_Исх).Sheets(i_лист).Cells(1, i) <> "" Then Exit For
266' Next
267' Столбцов_1 = Workbooks(ИмяФайла_Исх).Sheets(i_лист).Cells(1, i).CurrentRegion.Columns.Count + i - 1
268' Строк = Workbooks(ИмяФайла_Исх).Sheets(i_лист).Cells(1, i).CurrentRegion.Rows.Count
269' For i_строк_НП = 2 To Строк
270' dt = CDate(Time - T)
271' st = CDate(dt / i_строк_НП)
272' tt = CDate(st * Строк)
273' w = UserForm1.TextBox1.Width
274' k = i_строк_НП / Строк
275' UserForm1.TextBox2.Width = k * w
276' UserForm1.Label1 = " Время: " & dt & " + " & CDate(tt - dt) & " = " & tt
277' UserForm1.Label2 = " Строки: " & Format(i_строк_НП, "00000") & " + " & Format(Строк - i_строк_НП, "00000") & " = " & Format(Строк, "00000")
278' UserForm1.Label3 = "Процент: " & Format(k, "00.0%") & " + " & Format(1 - k, "00.0%") & " = " & Format(1, "0%")
279' UserForm1.Repaint
280'
281' Строк_0 = Workbooks(ИмяФайла_Раб).Sheets("Позиции на укрупнение").Cells(1, 1).CurrentRegion.Rows.Count + 1
282' f = 0
283' If i_строк_НП \ 100 <> r Then
284' r = i_строк_НП \ 100
285' End If
286' For i_0 = 1 To Столбцов_0
287' For i_1 = i To Столбцов_1
288' If Workbooks(ИмяФайла_Исх).Sheets(i_лист).Cells(1, i_1) _
289' = Workbooks(ИмяФайла_Раб).Sheets("Позиции на укрупнение").Cells(1, i_0) Then
290' Workbooks(ИмяФайла_Раб).Sheets("Позиции на укрупнение").Cells(Строк_0, i_0) _
291' = Workbooks(ИмяФайла_Исх).Sheets(i_лист).Cells(i_строк_НП, i_1)
292' If Workbooks(ИмяФайла_Раб).Sheets("Позиции на укрупнение").Cells(Строк_0, i_0) <> "" And i_0 > 6 Then f = 1
293' End If
294' Next
295' Next
296' If f = 0 Then
297' Windows(ИмяФайла_Раб).Activate
298' Sheets("Позиции на укрупнение").Select
299' Range(Cells(1, 6), Cells(1, 100)).Select
300' Selection.Copy
301' Windows(ИмяФайла_Исх).Activate
302' Sheets(i_лист).Select
303' f1 = 0
304' For i = 1 To 100
305' If Cells(1, i) <> "" Then f1 = 1
306' If Cells(1, i) = "" And f1 = 1 Then Exit For
307' Next
308' Cells(1, i).Select
309' ActiveSheet.Paste
310' End If
311' Next
312' Unload UserForm1
313' Next
314' ActiveWindow.WindowState = xlMaximized
315'End Sub
316
317Sub П0880_Проверка_SAP()
318Windows(ИмяФайла_Раб).Activate
319Sheets("Позиции на укрупнение").Select
320Строк = Cells(1, 1).CurrentRegion.Rows.Count
321Столбцов = Cells(1, 1).CurrentRegion.Columns.Count
322For i_0 = 2 To Столбцов
323q_0 = Cells(1, i_0)
324If q_0 = "Наименование УП" Then i_00 = i_0
325If q_0 = "Статус позиции" Then i_01 = i_0
326If i_00 > 0 And i_01 > 0 Then
327Exit For
328End If
329Next
330For i = 2 To Строк
331If Cells(i, i_00) <> Cells(i, i_01) Then
332' Range(Cells(i, 1), Cells(i, Столбцов)).Interior.Color = 13434879 '65535
333Cells(i, i_00).Font.Color = -16776961
334Cells(i, i_01).Font.Color = -16776961
335' Workbooks(ИмяФайла_Раб).Sheets("Позиции на укрупнение").Cells(i_строк_НП, 4).Font.Color = -65536
336
337End If
338Next
339
340
341End Sub
342
343
344Sub П0880_Проверка_на_укрупненные()
345Windows(ИмяФайла_Раб).Activate
346Sheets("Позиции на укрупнение").Select
347Строк = Cells(1, 1).CurrentRegion.Rows.Count
348Столбцов = Cells(1, 1).CurrentRegion.Columns.Count
349For i_0 = 2 To Столбцов
350q_0 = Cells(1, i_0)
351If q_0 = "Наименование УП" Then i_00 = i_0
352If q_0 = "Статус позиции" Then i_01 = i_0
353If q_0 = "Текущий продукт УП" Then i_02 = i_0
354If i_00 > 0 And i_01 > 0 And i_02 > 0 Then
355Exit For
356End If
357Next
358
359For i = 1 To 200
360par = Workbooks(ИмяФайла_Исх).Sheets("Привязка").Cells(1, i)
361par1 = Workbooks(ИмяФайла_Спр).Sheets("Справочник изделий").Cells(1, i)
362If par = "Код продукта SAP" Then id_sap = i
363If par = "Название продукта УП" Then уп_sap = i
364If par1 = "Наименование изделия" Then уп_план = i
365Next
366
367For Строк_0 = 2 To Строк
368If Строк_0 = 25 Then
369q = q
370End If
371Range("BS2").Select
372
373Cells(Строк_0, i_01).FormulaR1C1 = "=IFERROR(MATCH(RC1,'[" & ИмяФайла_Исх & "]Привязка'!C" & id_sap & ",0),""Нет"")"
374If Cells(Строк_0, i_01) = "Нет" Then
375q1 = 0
376Else
377q1 = 100
378End If
379
380Cells(Строк_0, i_01).FormulaR1C1 = "=IFERROR(MATCH(RC4,'[" & ИмяФайла_Исх & "]Привязка'!C" & уп_sap & ",0),""Нет"")"
381If Cells(Строк_0, i_01) = "Нет" Then
382q2 = 0
383Else
384q2 = 10
385End If
386
387Cells(Строк_0, i_01).FormulaR1C1 = "=IFERROR(MATCH(RC4,'[" & ИмяФайла_Спр & "]Справочник изделий'!C" & уп_план & ",0),""Нет"")"
388If Cells(Строк_0, i_01) = "Нет" Then
389q3 = 0
390Else
391q3 = 1
392End If
393Cells(Строк_0, i_01) = q1 + q2 + q3
394For i_q = 2 To 9
395q1 = Sheets("Параметры").Cells(i_q, 6) * 100
396q2 = Sheets("Параметры").Cells(i_q, 7) * 10
397q3 = Sheets("Параметры").Cells(i_q, 8)
398q4 = Sheets("Параметры").Cells(i_q, 9)
399If Cells(Строк_0, i_01) = q1 + q2 + q3 Then
400Cells(Строк_0, i_01) = q4
401Exit For
402End If
403Next
404
405If Cells(Строк_0, i_00) = "" Then
406Cells(Строк_0, i_01) = "Не полные параметры"
407End If
408
409If Cells(Строк_0, i_01) = "Не существует в SAP" _
410Or Cells(Строк_0, i_01) = "Не полные параметры" Then
411Cells(Строк_0, i_00).Font.Color = -16776961
412Cells(Строк_0, i_01).Font.Color = -16776961
413Cells(Строк_0, i_02).Font.Color = -16776961
414ElseIf Cells(Строк_0, i_01) = "На переукрупнение" Then
415Cells(Строк_0, i_00).Font.Color = -16744448
416Cells(Строк_0, i_01).Font.Color = -16744448
417Cells(Строк_0, i_02).Font.Color = -16744448
418ElseIf Cells(Строк_0, i_01) = "Повтор" _
419Or Cells(Строк_0, i_01) = "Повтор (блок)" Then
420Cells(Строк_0, i_00).Font.Color = -65536
421Cells(Строк_0, i_01).Font.Color = -65536
422Cells(Строк_0, i_02).Font.Color = -65536
423End If
424If Flag_SAP = 1 Then
425If Cells(Строк_0, i_00) = Cells(Строк_0, i_02) Then
426Cells(Строк_0, i_01) = "Совпадение с SAP"
427Cells(Строк_0, i_00).Font.ColorIndex = xlAutomatic
428Cells(Строк_0, i_01).Font.ColorIndex = xlAutomatic
429Cells(Строк_0, i_02).Font.ColorIndex = xlAutomatic
430ElseIf Cells(Строк_0, i_01) = "На укрупнение" _
431And Cells(Строк_0, i_00) <> Cells(Строк_0, i_02) Then
432Cells(Строк_0, i_01) = "Переукрупнение"
433Cells(Строк_0, i_00).Font.Color = -16744448
434Cells(Строк_0, i_01).Font.Color = -16744448
435Cells(Строк_0, i_02).Font.Color = -16744448
436End If
437End If
438Next
439ActiveWorkbook.BreakLink Name:="\\files\SDeskFilesFinance\3. Расчет УП\1. Укрупнение\1. Мэппинг\Связанные продукты SAP - УП.xlsx", Type:=xlExcelLinks
440Cells(1, 1).Select
441
442Sheets("Отчет").Select
443Range("A6").Select
444ActiveSheet.PivotTables("СводнаяТаблица2").PivotCache.Refresh
445ActiveSheet.Outline.ShowLevels RowLevels:=0, ColumnLevels:=1
446Sheets("Позиции на укрупнение").Select
447Application.CutCopyMode = False
448End Sub
449
450Sub П0870_Сохранение_результата()
451On Error Resume Next
452' ИмяФайла_Раб
453ГГГГ = Format(Year(Date), "0000")
454MM = Format(Month(Date), "00")
455DD = Format(Day(Date), "00")
456'Path_My & ГГГГ & " " & MM & " " & DD & "\" &
457Sheets("Позиции на укрупнение").Select
458Sheets("Позиции на укрупнение").Copy
459
460If Flag_SAP = 1 Then
461Path_My = Path_My & ГГГГ & " " & MM & " " & DD
462MkDir Path_My
463ActiveWorkbook.SaveAs Filename _
464:=Path_My & "\Проверка_SAP " & ГГГГ & " " & MM & " " & DD & ".xlsx", _
465FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
466Else
467ActiveWorkbook.SaveAs Filename _
468:=Path_My & ГГГГ & " " & MM & " " & DD & "\Укрупнение_" & ГГГГ & MM & DD & ".xlsx", FileFormat _
469:=xlOpenXMLWorkbook, CreateBackup:=False
470End If
471Flag_SAP = 0
472ActiveWindow.Close
473Workbooks(ИмяФайла_Раб).Activate
474Sheets("Позиции на укрупнение").Activate
475End Sub
476
477
478Sub П0900_Укрупнение()
479Workbooks(ИмяФайла_Раб).Activate
480Sheets("Позиции на укрупнение").Activate
481Столбцов_0 = Cells(1, 1).CurrentRegion.Columns.Count
482For i_0 = 1 To Столбцов_0
483If "Наименование УП" = Cells(1, i_0) Then Cells(i_строк_НП, i_0) = Наименование_УП
484Next
485End Sub
486
487Sub П0200_Определение_рабочей_папки()
488'On Error Resume Next
489If Application.ReferenceStyle = xlR1C1 Then
490Application.ReferenceStyle = xlA1
491End If
492Dim sFolder As String, sFiles As String
493With Application.FileDialog(msoFileDialogFolderPicker)
494.Title = "Выбор папки с выгрузками позиций для укрупнения"
495If .Show = False Then End
496sFolder = .SelectedItems(1)
497End With
498sFolder = sFolder & IIf(Right(sFolder, 1) = Application.PathSeparator, "", Application.PathSeparator)
499dlin = Len(sFolder)
500Path_My = sFolder
501Path = Left(sFolder, dlin - 1)
502End Sub
503Sub П0220_Очистка_листа_Позиции_на_укрупнение()
504Sheets("Позиции на укрупнение").Select
505П0880_Автофильтр
506Строк_0 = Cells(1, 2).CurrentRegion.Rows.Count + 1
507Rows("2:" & Строк_0).ClearContents
508Rows("2:" & Строк_0).ClearFormats
509' Rows("2:" & Строк_0).Select
510' Application.CutCopyMode = False
511' With Selection.Interior
512' .Pattern = xlNone
513' .TintAndShade = 0
514' .PatternTintAndShade = 0
515' End With
516Columns("A:A").Select
517Selection.NumberFormat = "#"
518Cells(1, 1).Select
519End Sub
520Sub П0230_Открытие_файла_Структура_SAP()
521On Error Resume Next
522' Workbooks.Open Path_My & "Структура SAP.xls", ReadOnly:=True
523' Workbooks.Open Path_My & "Структура SAP.xlsx", ReadOnly:=True
524Workbooks.Open Workbooks(ИмяФайла_Раб).Sheets("Параметры").Cells(2, 1), ReadOnly:=True
525ИмяФайла_Исх = ActiveWorkbook.Name
526' ActiveWindow.WindowState = xlMinimized
527End Sub
528Sub П0235_Открытие_файла_Связанные_продукты_SAP_УП()
529On Error Resume Next
530
531' Workbooks.Open Path_My & "Связанные_продукты_SAP_-_УП.xls", ReadOnly:=True
532' Workbooks.Open Path_My & "Связанные_продукты_SAP_-_УП.xlsx", ReadOnly:=True
533' Workbooks.Open Path_My & "Связанные продукты SAP - УП.xls", ReadOnly:=True
534' Workbooks.Open Path_My & "Связанные продукты SAP - УП.xlsx", ReadOnly:=True
535
536Workbooks.Open Workbooks(ИмяФайла_Раб).Sheets("Параметры").Cells(1, 1), ReadOnly:=True
537ИмяФайла_Исх = ActiveWorkbook.Name
538'ИмяФайла_Исх = Workbooks(ИмяФайла_Раб).Sheets("Параметры").Cells(1, 1)
539' ActiveWindow.WindowState = xlMinimized
540End Sub
541Sub П0290_Закрытие_файла_Структура_SAP()
542' 'On Error Resume Next
543Windows("Структура SAP").Activate
544ActiveWorkbook.Close savechanges:=False
545
546Workbooks(ИмяФайла_Раб).Activate
547Sheets("Позиции на укрупнение").Activate
548Range("C2").Select
549
550End Sub
551Sub П0295_Закрытие_файла_ИмяФайла_Спр()
552' 'On Error Resume Next
553Windows(ИмяФайла_Спр).Activate
554ActiveWorkbook.Close savechanges:=True
555
556Workbooks(ИмяФайла_Раб).Activate
557Sheets("Позиции на укрупнение").Activate
558Range("C2").Select
559
560End Sub
561Sub П0295_Закрытие_файла_Связанные_продукты_SAP_УП()
562'On Error Resume Next
563Windows(ИмяФайла_Исх).Activate
564' Windows("Связанные_продукты SAP_-_УП").Activate
565ActiveWorkbook.Close savechanges:=True
566
567Workbooks(ИмяФайла_Раб).Activate
568Sheets("Позиции на укрупнение").Activate
569Range("C2").Select
570
571End Sub
572Sub П0230_Открытие_и_персохранение_файлов_источников()
573On Error Resume Next
574ГГГГ = Format(Year(Date), "0000")
575MM = Format(Month(Date), "00")
576DD = Format(Day(Date), "00")
577MkDir Path_My & ГГГГ & " " & MM & " " & DD
578
579For i = 2 To 100
580q = Workbooks(ИмяФайла_Раб).Sheets("Параметры").Cells(i, 10)
581If q = "" Then Exit For
582If Flag_Прочие = 1 Or i > 2 Then
583Workbooks.Open Path_My & q
584ИмяФайла_Исх = ActiveWorkbook.Name
585ActiveWorkbook.SaveAs Filename _
586:=Path_My & ГГГГ & " " & MM & " " & DD & "\" & ИмяФайла_Исх, FileFormat _
587:=xlOpenXMLWorkbook, CreateBackup:=False
588End If
589Next
590
591' If Flag_Прочие = 1 Then
592' Workbooks.Open Path_My & "прочие.xlsx"
593' Workbooks.Open Path_My & "прочие.xlsx"
594' ИмяФайла_Исх = ActiveWorkbook.Name
595' ActiveWorkbook.SaveAs Filename _
596' :=Path_My & ГГГГ & " " & MM & " " & DD & "\" & ИмяФайла_Исх, FileFormat _
597' :=xlOpenXMLWorkbook, CreateBackup:=False
598' End If
599'
600' Workbooks.Open Path_My & "КПК.xls"
601' Workbooks.Open Path_My & "КПК.xlsx"
602' ИмяФайла_Исх = ActiveWorkbook.Name
603' ActiveWorkbook.SaveAs Filename _
604' :=Path_My & ГГГГ & " " & MM & " " & DD & "\" & ИмяФайла_Исх, FileFormat _
605' :=xlOpenXMLWorkbook, CreateBackup:=False
606'
607' Workbooks.Open Path_My & "прокат.xls"
608' Workbooks.Open Path_My & "прокат.xlsx"
609' ИмяФайла_Исх = ActiveWorkbook.Name
610' ActiveWorkbook.SaveAs Filename _
611' :=Path_My & ГГГГ & " " & MM & " " & DD & "\" & ИмяФайла_Исх, FileFormat _
612' :=xlOpenXMLWorkbook, CreateBackup:=False
613'
614' Workbooks.Open Path_My & "ТЭСЦ-2.xls"
615' Workbooks.Open Path_My & "ТЭСЦ-2.xlsx"
616' ИмяФайла_Исх = ActiveWorkbook.Name
617' ActiveWorkbook.SaveAs Filename _
618' :=Path_My & ГГГГ & " " & MM & " " & DD & "\" & ИмяФайла_Исх, FileFormat _
619' :=xlOpenXMLWorkbook, CreateBackup:=False
620'
621' Workbooks.Open Path_My & "ТЭСЦ-3.xls"
622' Workbooks.Open Path_My & "ТЭСЦ-3.xlsx"
623' ИмяФайла_Исх = ActiveWorkbook.Name
624' ActiveWorkbook.SaveAs Filename _
625' :=Path_My & ГГГГ & " " & MM & " " & DD & "\" & ИмяФайла_Исх, FileFormat _
626' :=xlOpenXMLWorkbook, CreateBackup:=False
627'
628' Workbooks.Open Path_My & "ТЭСЦ-5.xls"
629' Workbooks.Open Path_My & "ТЭСЦ-5.xlsx"
630' ИмяФайла_Исх = ActiveWorkbook.Name
631' ActiveWorkbook.SaveAs Filename _
632' :=Path_My & ГГГГ & " " & MM & " " & DD & "\" & ИмяФайла_Исх, FileFormat _
633' :=xlOpenXMLWorkbook, CreateBackup:=False
634'
635' Workbooks.Open Path_My & "ТЭСЦ-4.xls"
636' Workbooks.Open Path_My & "ТЭСЦ-4.xlsx"
637' ИмяФайла_Исх = ActiveWorkbook.Name
638' ActiveWorkbook.SaveAs Filename _
639' :=Path_My & ГГГГ & " " & MM & " " & DD & "\" & ИмяФайла_Исх, FileFormat _
640' :=xlOpenXMLWorkbook, CreateBackup:=False
641
642End Sub
643Sub П0290_Закрытие_файлов_источников()
644' 'On Error Resume Next
645For i = 2 To 100
646q = Workbooks(ИмяФайла_Раб).Sheets("Параметры").Cells(i, 10)
647If q = "" Then Exit For
648If Flag_Прочие = 1 Or i > 2 Then
649Windows(q).Activate
650' ActiveWorkbook.Close savechanges:=False
651ActiveWorkbook.Close savechanges:=True
652End If
653Next
654' If Flag_Прочие = 1 Then
655' Windows("прочие.xlsx").Activate
656'' ActiveWorkbook.Close savechanges:=False
657' ActiveWorkbook.Close savechanges:=True
658' End If
659'
660' Windows("КПК.xlsx").Activate
661'' ActiveWorkbook.Close savechanges:=False
662' ActiveWorkbook.Close savechanges:=True
663'
664' Windows("прокат.xlsx").Activate
665'' ActiveWorkbook.Close savechanges:=False
666' ActiveWorkbook.Close savechanges:=True
667'
668' Windows("ТЭСЦ-2.xlsx").Activate
669'' ActiveWorkbook.Close savechanges:=False
670' ActiveWorkbook.Close savechanges:=True
671'
672' Windows("ТЭСЦ-3.xlsx").Activate
673'' ActiveWorkbook.Close savechanges:=False
674' ActiveWorkbook.Close savechanges:=True
675'
676' Windows("ТЭСЦ-5.xlsx").Activate
677'' ActiveWorkbook.Close savechanges:=False
678' ActiveWorkbook.Close savechanges:=True
679'
680' Windows("ТЭСЦ-4.xlsx").Activate
681'' ActiveWorkbook.Close savechanges:=False
682' ActiveWorkbook.Close savechanges:=True
683
684Workbooks(ИмяФайла_Раб).Activate
685Sheets("Позиции на укрупнение").Activate
686Range("C2").Select
687
688End Sub
689
690
691
692