consolidator
177 строк · 7.5 Кб
1Attribute VB_Name = "M5_КПК"
2Sub П0000_Анализ()
3On Error Resume Next
4M0_Переменные.П0001_Параметры
5
6' "КПК Слиток" '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
7If "КПК Слиток" = Производство Then
8П0100_Марка_стали_КПК_Производство
9M2_Промежуточный.П0900_Укрупнение
10End If
11' "КПК Колесо черновое" '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
12If InStr(1, LCase(Производство), "кпк") > 0 _
13And InStr(1, LCase(Производство), "черновое") > 0 _
14And InStr(1, LCase(Производство), "колесо") > 0 Then
15Производство = "КПК Колесо черновое"
16Продукт = "ЧЕРН КОЛЕСО"
17П0130_Диаметр_КПК
18Вес_теор = Вес_колес_черн_теор
19П0120_КПК_Вес_колес
20П0110_Стандарт_КПК_Колесо
21Наименование_УП = Продукт & " Д" & Диаметр & " В" & Вес_теор & " " & Стандарт_КПК
22If Диаметр = 473 Then Наименование_УП = "ИНСТРУМЕНТ ДЕФОРМАЦИИ"
23M2_Промежуточный.П0900_Укрупнение
24End If
25' "КПК Колесо после термообработки" '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
26If InStr(1, LCase(Производство), "кпк") > 0 _
27And InStr(1, LCase(Производство), "после") > 0 _
28And InStr(1, LCase(Производство), "термообработ") > 0 _
29And InStr(1, LCase(Производство), "колесо") > 0 Then
30Производство = "КПК Колесо после термообработки"
31Продукт = "ЧЕРН КОЛЕСО"
32П0130_Диаметр_КПК
33Вес_теор = Вес_колес_заг_теор
34П0120_КПК_Вес_колес
35П0110_Стандарт_КПК_Колесная_заготовка
36Наименование_УП = Продукт & " Д" & Диаметр & " В" & Вес_теор & " " & Стандарт_КПК
37If Диаметр = 473 Then Наименование_УП = "ИНСТРУМЕНТ ДЕФОРМАЦИИ"
38M2_Промежуточный.П0900_Укрупнение
39End If
40'"КПК Колесная заготовка"''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
41If InStr(1, LCase(Производство), "кпк") > 0 _
42And InStr(1, LCase(Производство), "колесная") > 0 _
43And InStr(1, LCase(Производство), "заготовка") > 0 Then
44Производство = "КПК Колесная заготовка"
45Продукт = "КОЛЕС ЗАГОТОВКА"
46П0130_Диаметр_КПК
47Вес_теор = Вес_колес_заг_теор
48П0120_КПК_Вес_колес
49П0110_Стандарт_КПК_Колесная_заготовка
50Наименование_УП = Продукт & " Д" & Диаметр & " В" & Вес_теор & " " & Стандарт_КПК
51If Диаметр = 473 Then Наименование_УП = "ИНСТРУМЕНТ ДЕФОРМАЦИИ"
52M2_Промежуточный.П0900_Укрупнение
53End If
54'"КПК Колесо"''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
55If "КПК Колесо" = Производство Then
56Продукт = "КОЛЕСО"
57П0130_Диаметр_КПК
58Вес_теор = Вес_колес_теор
59П0120_КПК_Вес_колес
60П0130_Диаметр_КПК
61П0110_Стандарт_КПК_Колесо
62Наименование_УП = Продукт & " Д" & Диаметр & " В" & Вес_теор & " " & Стандарт_КПК
63M2_Промежуточный.П0900_Укрупнение
64End If
65End Sub
66
67
68''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
69''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
70''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
71
72Sub П0100_Марка_стали_КПК_Производство()
73For s0 = 1 To 200
74If Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(1, s0) = "Стали КПК" Then Exit For
75Next
76For i = 4 To 50
77q0 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0)
78q1 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 1)
79If UCase(Марка_стали) = UCase(q0) Then Наименование_УП = q1
80Next
81End Sub
82
83Sub П0100_Марка_стали_Сталь_жидкая()
84For s0 = 1 To 200
85If Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(1, s0) = "Стали КПК" Then Exit For
86Next
87For i = 4 To 500
88q0 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0)
89q1 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 1)
90If UCase(Марка_стали) = UCase(q0) Then
91Наименование_УП = q1
92Exit For
93End If
94Next
95
96End Sub
97
98Sub П0110_Стандарт_КПК_Колесная_заготовка()
99For s0 = 1 To 200
100If Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(1, s0) = "Стандарты колесной заготовки" Then Exit For
101Next
102For i = 4 To 200
103q0 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 0)
104q1 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 1)
105If UCase(Вес_теор) = UCase(q0) Then
106Стандарт_КПК = q1
107Exit For
108End If
109Next
110End Sub
111
112Sub П0110_Стандарт_КПК_Колесо()
113For s0 = 1 To 200
114If Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(1, s0) = "Параметры по Продукту КПК" Then Exit For
115Next
116For i = 4 To 500
117q0 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 0) 'Производство
118q1 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 1) 'Продукт
119q2 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 2) 'Диаметр
120q3 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 3) 'Вес
121q4 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 4) 'Стандарт
122Диаметр = Replace(Диаметр, ".", ",")
123Вес_теор = Replace(Вес_теор, ".", ",")
124q2 = Replace(q2, ".", ",")
125q3 = Replace(q3, ".", ",")
126
127If UCase(Производство) = UCase(q0) _
128And UCase(Продукт) = UCase(q1) _
129And UCase(Диаметр) = UCase(q2) _
130And UCase(Вес_теор) = UCase(q3) Then
131Стандарт_КПК = q4
132Exit For
133End If
134Next
135End Sub
136
137Sub П0120_КПК_Вес_колес()
138For s0 = 1 To 200
139If Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(1, s0) = "Параметры по Продукту КПК" Then Exit For
140Next
141отклонение_мин_плюс = 2000
142отклонение_мин_минус = 2000
143For i = 4 To 2000 'Перебор строк в справочной таблице УП
144q0 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0) 'Производство
145q1 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 2) 'Диаметр мин
146парам_0 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 3) 'Вес
147If IsNumeric(парам_0) = True And парам_0 > "" Then
148отклонение_плюс = CSng(парам_0) - Вес_теор
149отклонение_минус = Вес_теор - CSng(парам_0)
150If q0 = Производство And q1 = Диаметр Then
151If отклонение_мин_плюс > отклонение_плюс Then _
152отклонение_мин_плюс = отклонение_плюс: мин_плюс = парам_0
153If отклонение_мин_минус > отклонение_минус Then _
154отклонение_мин_минус = отклонение_минус: мин_минус = парам_0
155End If
156End If
157Next
158If Abs(отклонение_мин_плюс) <= Abs(отклонение_мин_минус) Then Вес_теор = мин_плюс
159If Abs(отклонение_мин_плюс) > Abs(отклонение_мин_минус) Then Вес_теор = мин_минус
160End Sub
161
162Sub П0130_Диаметр_КПК()
163For s0 = 1 To 200
164If Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(1, s0) = "Диаметры колес" Then Exit For
165Next
166If i_строк_НП Then
167q = q
168End If
169For i = 4 To 200
170q0 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0)
171q1 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 1)
172q2 = Workbooks(ИмяФайла_Раб).Sheets("Справочник").Cells(i, s0 + 2)
173If UCase(Производство) = UCase(q0) And CSng(Диаметр) = CSng(q1) Then
174Диаметр = q2
175End If
176Next
177End Sub
178
179
180
181
182