consolidator
474 строки · 21.1 Кб
1Attribute VB_Name = "M4_Прокат"
2Sub П0000_Анализ()
3' 'On Error Resume Next
4M0_Переменные.П0001_Параметры
5
6' "Рулон" '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
7If InStr(1, LCase(Производство), "рулон") > 0 Then
8Производство = "Рулон"
9M3_Общий.П0100_Продукт
10M3_Общий.П0101_Определение_Признака_прокат
11If Марка_стали = "" And Кл_прочности <> "" Then Марка_стали = Кл_прочности
12If Марка_стали <> "" And Кл_прочности = "" Then M3_Общий.П0110_Кл_прочности_по_марке_стали
13If Марка_стали <> "" And Кл_прочности = "" Then Кл_прочности = Марка_стали
14M3_Общий.П0120_Маппинг_Кл_прочности
15M3_Общий.П0121_Приведение_Кл_прочности
16M3_Общий.П0130_Марка_стали_по_Гр_свойств
17П0130_Определение_ОТО
18
19Диап_толщин = ""
20Наименование_УП = "РУЛОН " & Гр_свойств
21If InStr(1, UCase(Гр_свойств), "ГУ") > 0 Then
22Гр_свойств = "ГУ"
23П0120_Диап_Толщин_по_Продукт
24Наименование_УП = "РУЛОН " & Диап_толщин & " " & Гр_свойств
25End If
26If Признак = "БЗ" Then Наименование_УП = "РУЛОН Р БЗ"
27M2_Промежуточный.П0900_Укрупнение
28End If
29
30' "Сляб стан 5000" '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
31If InStr(1, LCase(Производство), "сляб") > 0 _
32And InStr(1, LCase(Производство), "стан") > 0 _
33And InStr(1, LCase(Производство), "5000") > 0 Then
34Производство = "Сляб стан 5000"
35Продукт = "ТОЛСТЫЙ СЛЯБ"
36Толщина = Толщ_мат_сляба
37If Марка_стали <> "" And Кл_прочности = "" Then Кл_прочности = Марка_стали
38M3_Общий.П0110_Кл_прочности_по_марке_стали
39M3_Общий.П0120_Маппинг_Кл_прочности
40M3_Общий.П0121_Приведение_Кл_прочности
41M3_Общий.П0130_Марка_стали_по_Гр_свойств
42Наименование_УП = Продукт & " " & Кл_прочности_прив
43If InStr(1, UCase(Гр_свойств), "ГУ") > 0 Then
44Гр_свойств = "ГУ"
45Наименование_УП = Продукт & " " & Гр_свойств
46ElseIf CSng(Right(Кл_прочности_прив, 2)) >= 60 Then
47П0125_Толщина_приведенная
48Наименование_УП = Продукт & " Т" & Толщ_прив & " " & Кл_прочности_прив
49End If
50M2_Промежуточный.П0900_Укрупнение
51End If
52
53' "Сляб покупной" ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
54If "" = Производство _
55And InStr(1, LCase(Вид_материала), "сляб") > 0 _
56And InStr(1, LCase(Вид_материала), "покуп") > 0 Then
57Производство = "Сляб стан 5000"
58Марка_стали = Марка_стали_корп
59Кл_прочности = Кл_прочности_корп
60Толщина = Толщина_корп
61Продукт = "ТОЛСТЫЙ СЛЯБ"
62If Марка_стали <> "" And Кл_прочности = "" Then Кл_прочности = Марка_стали
63M3_Общий.П0110_Кл_прочности_по_марке_стали
64M3_Общий.П0120_Маппинг_Кл_прочности
65M3_Общий.П0121_Приведение_Кл_прочности
66M3_Общий.П0130_Марка_стали_по_Гр_свойств
67Наименование_УП = Продукт & " " & Кл_прочности_прив
68If InStr(1, UCase(Гр_свойств), "ГУ") > 0 Then
69Гр_свойств = "ГУ"
70Наименование_УП = Продукт & " " & Гр_свойств
71ElseIf CSng(Right(Кл_прочности_прив, 2)) >= 60 Then
72П0125_Толщина_приведенная
73Наименование_УП = Продукт & " Т" & Толщ_прив & " " & Кл_прочности_прив
74End If
75Производство = ""
76M2_Промежуточный.П0900_Укрупнение
77End If
78
79' "Сляб" '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
80If InStr(1, LCase(Производство), "сляб") > 0 _
81And InStr(1, LCase(Производство), "катан") = 0 _
82And InStr(1, LCase(Производство), "5000") = 0 Then
83Производство = "Сляб"
84Продукт = "СЛЯБ"
85Кл_прочности = Марка_стали
86M3_Общий.П0120_Маппинг_Кл_прочности
87M3_Общий.П0121_Приведение_Кл_прочности
88M3_Общий.П0130_Марка_стали_по_Гр_свойств
89If Кл_прочности_прив = "" Then
90If InStr(1, UCase(Гр_свойств), "ГУ") > 0 Then
91Гр_свойств = "ГУ"
92ElseIf InStr(1, UCase(Гр_свойств), "ГЮ") > 0 Then
93Гр_свойств = "ГЮ"
94End If
95Наименование_УП = Продукт & " " & Гр_свойств
96ElseIf Кл_прочности_прив <> "" Then
97Наименование_УП = Продукт & " " & Кл_прочности_прив
98End If
99M2_Промежуточный.П0900_Укрупнение
100End If
101
102' "Сляб катаный" ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
103If InStr(1, LCase(Производство), "сляб") > 0 _
104And InStr(1, LCase(Производство), "катан") > 0 Then
105Производство = "Сляб катаный"
106Продукт = "ТОЛСТЫЙ СЛЯБ" '"ТОЛСТЫЙ СЛЯБ" для обработки в таблице "Параметры по Продукту Прокат",потом переприсваивается "РАСКАТ"
107If Марка_стали <> "" And Кл_прочности = "" Then Кл_прочности = Марка_стали
108M3_Общий.П0110_Кл_прочности_по_марке_стали
109M3_Общий.П0120_Маппинг_Кл_прочности
110M3_Общий.П0121_Приведение_Кл_прочности
111M3_Общий.П0130_Марка_стали_по_Гр_свойств
112Продукт = "РАСКАТ"
113Наименование_УП = Продукт & " " & Кл_прочности_прив
114If InStr(1, UCase(Гр_свойств), "ГУ") > 0 Then
115Гр_свойств = "ГУ"
116Наименование_УП = Продукт & " " & Гр_свойств
117ElseIf CSng(Right(Кл_прочности_прив, 2)) >= 60 Then
118П0125_Толщина_приведенная
119Наименование_УП = Продукт & " Т" & Толщ_прив & " " & Кл_прочности_прив
120End If
121M2_Промежуточный.П0900_Укрупнение
122End If
123
124' "Лист Стан 5000" '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
125If InStr(1, LCase(Производство), "лист") > 0 _
126And InStr(1, LCase(Производство), "стан") > 0 _
127And InStr(1, LCase(Производство), "5000") > 0 Then
128Производство = "Лист Стан 5000"
129M3_Общий.П0100_Продукт
130M3_Общий.П0101_Определение_Признака_прокат
131If Left(UCase(Марка_стали), 1) = "К" _
132Or Left(UCase(Марка_стали), 1) = "Х" _
133Or Left(UCase(Марка_стали), 1) = "K" _
134Or Left(UCase(Марка_стали), 1) = "X" Then
135Кл_прочности = Марка_стали
136ElseIf Left(UCase(Марка_стали), 1) <> "К" _
137And Left(UCase(Марка_стали), 1) <> "Х" _
138And Left(UCase(Марка_стали), 1) <> "K" _
139And Left(UCase(Марка_стали), 1) <> "X" Then
140Кл_прочности = ""
141End If
142M3_Общий.П0110_Кл_прочности_по_марке_стали
143M3_Общий.П0120_Маппинг_Кл_прочности
144M3_Общий.П0121_Приведение_Кл_прочности
145П0100_Диаметр_по_ширине_листа_стана_5000
146M3_Общий.П0130_Марка_стали_по_Гр_свойств
147П0120_Диап_Толщин_по_Продукт
148If Продукт = "ЛИСТ Р" Then
149Наименование_УП = Продукт & " " & Диап_толщин & " " & Гр_свойств
150If Признак = "БЗ" Then Наименование_УП = Продукт & " " & Диап_толщин & " БЗ"
151ElseIf Продукт = "ЛИСТ ТРБ" Then
152Наименование_УП = Продукт & " " & "Д" & Диаметр & " " & Диап_толщин & " " & Шов & " " & Кл_прочности_прив
153End If
154M2_Промежуточный.П0900_Укрупнение
155End If
156
157' "Лист, штрипс" '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
158If InStr(1, LCase(Производство), "лист") > 0 _
159And InStr(1, LCase(Производство), "штрип") > 0 Then
160Производство = "Лист, штрипс"
161Продукт = "ЛИСТ ТРБ"
162M3_Общий.П0100_Продукт
163M3_Общий.П0101_Определение_Признака_прокат
164If i_строк_НП = 526 Then
165q = q
166End If
167M3_Общий.П0110_Кл_прочности_по_марке_стали
168If Кл_прочности = "" Or Кл_прочности = 0 Then
169Кл_прочности = "К52"
170End If
171M3_Общий.П0120_Маппинг_Кл_прочности
172M3_Общий.П0121_Приведение_Кл_прочности
173If Кл_прочности_прив = "" Or Кл_прочности_прив = 0 Then
174Кл_прочности_прив = "К52"
175End If
176M3_Общий.П0130_Марка_стали_по_Гр_свойств
177П0130_Определение_ОТО
178П0100_Диаметр_по_ширине_листа_стана_5000
179
180П0115_Ширина_приведенная
181П0120_Диап_Толщин_по_Продукт
182
183
184If Продукт = "ЛИСТ Р" Then
185Наименование_УП = Продукт & " " & Диап_толщин & " " & Гр_свойств
186If Диап_толщин = 0 Or Диап_толщин = "" Then Наименование_УП = Продукт & " " & Гр_свойств
187If Признак = "БЗ" Then Наименование_УП = Продукт & " " & Диап_толщин & " БЗ"
188ElseIf Продукт = "ЛИСТ ТРБ" Then
189Наименование_УП = Продукт & " " & "Д" & Диаметр & " " & Диап_толщин & " " & Шов & " " & Кл_прочности_прив
190If Диаметр = 0 Then Наименование_УП = "ЛИСТ Р " & Гр_свойств
191ElseIf Продукт = "ПОЛОСА" Then
192Наименование_УП = Продукт & " Ш" & Шир_тип & " " & Гр_свойств
193If Признак = "БЗ" Then
194Наименование_УП = Продукт & " Р БЗ"
195ElseIf InStr(1, UCase(Гр_свойств), "ГУ") > 0 Then
196Гр_свойств = "ГУ"
197Наименование_УП = Продукт & " " & Диап_толщин & " Ш" & Шир_тип & " " & Гр_свойств
198End If
199End If
200M2_Промежуточный.П0900_Укрупнение
201End If
202
203
204' "Лист материнский" ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
205If InStr(1, LCase(Производство), "лист") > 0 _
206And InStr(1, LCase(Производство), "материн") > 0 Then
207Производство = "Лист материнский"
208Продукт = "ТОЛСТЫЙ СЛЯБ" '"ТОЛСТЫЙ СЛЯБ" для обработки в таблице "Параметры по Продукту Прокат",потом переприсваивается "РАСКАТ"
209If Марка_стали <> "" And Кл_прочности = "" Then Кл_прочности = Марка_стали
210M3_Общий.П0110_Кл_прочности_по_марке_стали
211M3_Общий.П0120_Маппинг_Кл_прочности
212M3_Общий.П0121_Приведение_Кл_прочности
213M3_Общий.П0130_Марка_стали_по_Гр_свойств
214Продукт = "РАСКАТ"
215Наименование_УП = Продукт & " " & Кл_прочности_прив
216If InStr(1, UCase(Гр_свойств), "ГУ") > 0 Then
217Гр_свойств = "ГУ"
218Наименование_УП = Продукт & " " & Гр_свойств
219ElseIf Кл_прочности_прив <> "" Then
220If CSng(Right(Кл_прочности_прив, 2)) >= 60 Then
221П0125_Толщина_приведенная
222Наименование_УП = Продукт & " Т" & Толщ_прив & " " & Кл_прочности_прив
223End If
224End If
225i_строк_НП = i_строк_НП
226M2_Промежуточный.П0900_Укрупнение
227End If
228
229' "Жидкая сталь" '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
230If InStr(1, LCase(Производство), "жидк") > 0 _
231And InStr(1, LCase(Производство), "сталь") > 0 Then
232Производство = "Жидкая сталь"
233Продукт = "СТАЛЬ"
234' If Марка_стали <> "" And Кл_прочности = "" Then Кл_прочности = Марка_стали
235If Left(UCase(Марка_стали), 1) = "К" _
236Or Left(UCase(Марка_стали), 1) = "Х" _
237Or Left(UCase(Марка_стали), 1) = "K" _
238Or Left(UCase(Марка_стали), 1) = "X" Then
239Кл_прочности = Марка_стали
240End If
241M3_Общий.П0120_Маппинг_Кл_прочности
242M3_Общий.П0121_Приведение_Кл_прочности
243M3_Общий.П0130_Марка_стали_по_Гр_свойств
244If Кл_прочности_прив = "" Then
245If InStr(1, UCase(Гр_свойств), "ГУ") > 0 Then Гр_свойств = "ГУ"
246Наименование_УП = Продукт & " " & Гр_свойств
247ElseIf Кл_прочности_прив <> "" Then
248Наименование_УП = Продукт & " " & Кл_прочности_прив
249End If
250M2_Промежуточный.П0900_Укрупнение
251End If
252
253End Sub
254
255
256'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
257'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
258Sub П0130_Определение_ОТО()
259On Error Resume Next
260For s0 = 1 To 200
261If Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(1, s0) = "Признак по НТД" Then Exit For
262Next
263For i = 4 To 500
264q0 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0) 'Производство
265q1 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 1) 'НТД
266q2 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 2) 'Продукт
267q3 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 3) 'Доп признак
268
269If InStr(1, UCase(q0), UCase(Производство)) > 0 _
270And UCase(НТД_кач_прокат) = UCase(q1) _
271And InStr(1, UCase(Гр_свойств), UCase("ГЮ")) > 0 Then
272Гр_свойств = q2
273Exit For
274End If
275Next
276End Sub
277
278
279Sub П0125_Толщина_приведенная()
280On Error Resume Next
281If Толщина = "" Then Толщина = 0
282Толщина = Replace(Толщина, ".", ",")
283Толщина = CSng(Толщина)
284For s0 = 1 To 200
285If Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(1, s0) = "Параметры по Продукту Прокат" Then Exit For
286Next
287т_мин = 5000
288For i = 4 To 300
289q0 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0) 'Производство
290q1 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 1) 'Продукт
291q2 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 2) 'Доп параметр1
292q3 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 3) 'Доп параметр2
293q4 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 4) 'Доп параметр3
294q5 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 5) 'минимальная толщина
295q6 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 6) 'максимальная толщина
296q7 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 7) 'Диапазон толщин
297
298If IsNumeric(q2) = True Then
299If InStr(1, UCase(q0), UCase(Производство)) > 0 _
300And InStr(1, UCase(q1), UCase(Продукт)) > 0 _
301And q3 = Кл_прочности_прив Then
302т_0 = Abs(Толщина - q2)
303If т_мин > т_0 Then
304т_мин = т_0
305Толщ_прив = q2
306End If
307End If
308End If
309Next
310End Sub
311
312Sub П0115_Ширина_приведенная()
313On Error Resume Next
314If Шир_листа_штрипс = "" Then Шир_листа_штрипс = 0
315Шир_листа_штрипс = Replace(Шир_листа_штрипс, ".", ",")
316Шир_листа_штрипс = CSng(Шир_листа_штрипс)
317For s0 = 1 To 200
318If Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(1, s0) = "Параметры по Продукту Прокат" Then Exit For
319Next
320If i_строк_НП = 468 Then
321q = q
322End If
323
324ш_мин = 5000
325For i = 4 To 300
326q0 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0) 'Производство
327q1 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 1) 'Продукт
328q2 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 2) 'Доп параметр1
329q3 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 3) 'Доп параметр2
330q4 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 4) 'Доп параметр3
331q5 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 5) 'минимальная толщина
332q6 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 6) 'максимальная толщина
333q7 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 7) 'Диапазон толщин
334
335If IsNumeric(q2) = True Then
336If InStr(1, UCase(q0), UCase(Производство)) > 0 _
337And InStr(1, UCase(q1), UCase(Продукт)) > 0 _
338And InStr(1, UCase(Гр_свойств), UCase(q3)) > 0 Then
339If (q5 <= Толщина And Толщина <= q6 And InStr(1, UCase(Гр_свойств), "ГУ") > 0) Or InStr(1, UCase(Гр_свойств), "ГУ") = 0 Then
340ш_0 = Abs(Шир_листа_штрипс - q2)
341If ш_мин > ш_0 Then
342ш_мин = ш_0
343Шир_тип = q2
344End If
345End If
346End If
347End If
348Next
349End Sub
350
351Sub П0120_Диап_Толщин_по_Продукт()
352On Error Resume Next
353If Толщина = "" Then Толщина = 0
354Толщина = Replace(Толщина, ".", ",")
355Толщина = CSng(Толщина)
356For s0 = 1 To 200
357If Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(1, s0) = "Параметры по Продукту Прокат" Then Exit For
358Next
359For i = 4 To 300
360q0 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0) 'Производство
361q1 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 1) 'Продукт
362q2 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 2) 'Доп параметр1
363q3 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 3) 'Доп параметр2
364q4 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 4) 'Доп параметр3
365q5 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 5) 'минимальная толщина
366q6 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 6) 'максимальная толщина
367q7 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 7) 'Диапазон толщин
368т_мин = 1000
369т_макс = 1000
370If i = 233 Then
371q = q
372End If
373If InStr(1, UCase(q0), UCase(Производство)) > 0 _
374And InStr(1, UCase(q1), UCase(Продукт)) > 0 _
375And q = q _
376And q5 <= Толщина And Толщина <= q6 And Толщина > 0 Then
377If Продукт = "ЛИСТ ТРБ" Then
378If Диаметр = q2 And Кл_прочности_прив = q3 And Шов = q4 Then
379Диап_толщин = q7: Exit Sub
380End If
381ElseIf Продукт = "ЛИСТ Р" _
382And (Признак = q2 Or InStr(1, UCase(q2), UCase(Гр_свойств)) > 0 Or Кл_прочности_прив = q2) Then
383If Признак = q2 Then
384Диап_толщин = q7
385Exit Sub
386ElseIf Признак <> "БЗ" _
387And (InStr(1, UCase(q2), UCase(Гр_свойств)) > 0 Or Кл_прочности_прив = q2) Then
388Диап_толщин = q7
389Exit Sub
390End If
391ElseIf Продукт = "ПОЛОСА" And Шир_тип = q2 And InStr(1, UCase(Гр_свойств), UCase(q3)) > 0 Then
392Диап_толщин = q7: Exit Sub
393ElseIf Продукт = "РУЛОН" And InStr(1, UCase(q2), UCase(Гр_свойств)) > 0 Then
394Диап_толщин = q7: Exit Sub
395End If
396End If
397Next
398End Sub
399
400Sub П0100_Диаметр_по_ширине_листа_стана_5000()
401If i_строк_НП = 39 Then
402q = q
403End If
404If Шир_листа_штрипс = "" Then Шир_листа_штрипс = 0
405Шир_листа_штрипс = Replace(Шир_листа_штрипс, ".", ",")
406Шир_листа_штрипс = CSng(Шир_листа_штрипс)
407If Толщина = "" Then Толщина = 0
408Толщина = Replace(Толщина, ".", ",")
409Толщина = CSng(Толщина)
410
411If Шир_листа_штрипс = 1500 Or Шир_листа_штрипс = 2000 Then Диаметр = 0: Шов = "": Exit Sub
412'тэса1020 шов=1
413Шов = 1: Кф = 0.4: Кэ = 1.1: delta_кр = 5
414q1020_1 = (Шир_листа_штрипс - delta_кр) * Шов * (1 - Кф / 100) * (1 + Кэ / 100) / 3.1416 + Толщина
415
416'тэса1020 шов=2
417Шов = 2: Кф = 0.4: Кэ = 1.1: delta_кр = 5
418q1020_2 = (Шир_листа_штрипс - delta_кр) * Шов * (1 - Кф / 100) * (1 + Кэ / 100) / 3.1416 + Толщина
419
420'тэса1420 шов=1
421Шов = 1: Кф = 0: Кэ = 0.6: delta_кр = 5
422q1420_1 = (Шир_листа_штрипс - delta_кр) * Шов * (1 - Кф / 100) * (1 + Кэ / 100) / 3.1416 + Толщина
423
424'тэса1420 шов=2
425Шов = 2: Кф = 0: Кэ = 0.6: delta_кр = 5
426q1420_2 = (Шир_листа_штрипс - delta_кр) * Шов * (1 - Кф / 100) * (1 + Кэ / 100) / 3.1416 + Толщина
427
428q_мин_1 = 5000
429q_мин_abs_1 = 5000
430For s_d = 1 To 200
431If Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(1, s_d) = "Диаметры ТБД" Then Exit For
432Next
433
434For i = 4 To 500 'Перебор строк в справочной таблице УП
435q_UP_0 = CSng(Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s_d))
436q_мин = 5000
437q1 = q_UP_0 - q1020_1
438q3 = q_UP_0 - q1420_1
439If q_мин > q1 And q1 >= 0 Then q_мин = q1: Кол_швов_1 = "ШВ1"
440If q_мин > q3 And q3 >= 0 Then q_мин = q3: Кол_швов_1 = "ШВ1"
441If q_мин_1 > q_мин And q_UP_0 > 0 Then
442q_мин_1 = q_мин
443Диаметр = q_UP_0
444Шов = Кол_швов_1
445k = q_мин_1 / Диаметр * 100
446End If
447
448q_мин_abs = 5000
449q1_abs = Abs(q1)
450q3_abs = Abs(q3)
451If q_мин_abs > q1_abs And q1_abs >= 0 Then q_мин_abs = q1_abs: Кол_швов_1 = "ШВ1"
452If q_мин_abs > q3_abs And q3_abs >= 0 Then q_мин_abs = q3_abs: Кол_швов_1 = "ШВ1"
453If q_мин_abs_1 > q_мин_abs And q_UP_0 > 0 Then
454q_мин_abs_1 = q_мин_abs
455Диаметр_abs = q_UP_0
456Шов = Кол_швов_1
457k_abs = q_мин_abs_1 / Диаметр_abs * 100
458End If
459
460Next
461For i = 1 To 100
462If Workbooks(ИмяФайла_Раб).Sheets("Позиции на укрупнение").Cells(1, i) = "Диаметр расчетный" Then Exit For
463Next
464Workbooks(ИмяФайла_Раб).Sheets("Позиции на укрупнение").Cells(i_строк_НП, i) _
465= Format(q1020_1, "0") & "->" & Диаметр & " (" & Format(k / 100, "0.0%") & ")" & " / " & Диаметр_abs & " (" & Format(k_abs / 100, "0.0%") & ")"
466If k > 5 And k_abs > 5 Or Толщина > 50 Then
467Workbooks(ИмяФайла_Раб).Sheets("Позиции на укрупнение").Cells(i_строк_НП, i).Font.Color = -65536
468Диаметр = 0
469Шов = ""
470ElseIf k > 5 And k_abs <= 5 Then
471Диаметр = Диаметр_abs
472End If
473q = q
474End Sub
475
476
477
478