1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
|
Sub Sort_2_cols_to_grid ()
'********************************************
'** Предположения
'********************************************
'** - старты данных в рядке 23. Последний рядок высчитан макросом
'** - значения в колонке a и f такими же
'** - значения в колонке c и h такими же
'** - значения находятся в колонках a, b, c, f, g, h
'********************************************
На ошибке переход skip1
Тусклое DataFirstRow как длиной
Тусклое DataLastRow как длиной
Тусклое DataCurrentRow как длиной
Тусклое ResultFirstRow как длиной
Тусклое ResultLastRow как длиной
Тусклое ResultCurrentRow как длиной
Тусклое ResultFirstCol как длиной
Тусклое ResultLastCol как длиной
Тусклое ResultCurrentCol как длиной
Тусклое RowTitle как шнур
Тусклое ColTitle как шнур
Тусклое Result1 как шнур
Тусклое Result2 как шнур
Если ряд («B27») = "" после этого переход skip1
DataFirstRow = 27
DataLastRow = [A65536]. Конец (xlUp). Рядок
'Гребет («1: 1»). Отборно
'Перенос Selection.Delete: =xlUp
'Перенос Selection.Insert: =xlDown
ResultFirstRow = 1 'рядок 1
ResultFirstCol = 6 'колонка f
'Ряд («G2: AT21») .ClearContents
'Сперва мы setup названия рядка в рядке 1
' эти названия рядка от колонки c (3) и h
' и начнет от колонки g (7)
Если 1 = 2 после этого
ResultCurrentRow = 1
ResultCurrentCol = 7
Для DataCurrentRow = DataFirstRow к DataLastRow
ColTitle = клетки (DataCurrentRow, 3)
Если IsError, то (Application.Match (ColTitle, ряд (клетки (ResultFirstRow, ResultFirstCol), клетки (ResultFirstRow, ResultCurrentCol)), 0)) После этого
Клетки (ResultCurrentRow, ResultCurrentCol) = ColTitle
ResultCurrentCol = ResultCurrentCol + 2
Закончитесь если
Следующее DataCurrentRow
ResultLastCol = ResultCurrentCol - 1
Еще
ResultLastCol = 54
ResultLastRow = 25
Закончитесь если '1=2
'Затем мы setup названия рядка в колонке f (6)
ResultCurrentRow = от 2 до 1
ResultCurrentCol = 6
Для DataCurrentRow = DataFirstRow к DataLastRow
RowTitle = клетки (DataCurrentRow, 1)
'Если IsError, то (Application.Match (RowTitle, ряд (клетки (ResultFirstRow, 6), клетки (ResultCurrentRow, 6)), 0)) После этого
' ResultCurrentRow = ResultCurrentRow + 1
' Клетки (ResultCurrentRow, 6) = RowTitle
'Закончитесь если
'Затем мы выбираем вверх данные в петле
' от колонок a (1), b (2), c (3), и g (7)
' Обнаружьте местонахождение рядок и колонки результата using спичка
' и после этого наклеите данные по результата
ColTitle = клетки (DataCurrentRow, 3)
ResultCurrentCol = Application.Match (ColTitle, ряд (клетки (ResultFirstRow, ResultFirstCol), клетки (ResultFirstRow, ResultLastCol)), 0)
ResultCurrentRow = Application.Match (RowTitle, ряд (клетки (ResultFirstRow, ResultFirstCol), клетки (ResultLastRow, ResultFirstCol)), 0)
'Клетки (DataCurrentRow, 2).Copy
'Клетки (ResultCurrentRow, ResultCurrentCol + ResultFirstCol - 1).Select
'ActiveSheet.Paste
'Клетки (DataCurrentRow, 7).Copy
'Клетки (ResultCurrentRow, ResultCurrentCol + ResultFirstCol). Отборно
'ActiveSheet.Paste
Result1 = клетки (DataCurrentRow, 2)
Result2 = клетки (DataCurrentRow, 7)
'Проверите если решетка пуста
Если IsEmpty, то (клетки (ResultCurrentRow, ResultCurrentCol + ResultFirstCol - 1)) = True после этого
Клетки (ResultCurrentRow, ResultCurrentCol + ResultFirstCol - 1) = «'» + Result1
Клетки (ResultCurrentRow, ResultCurrentCol + ResultFirstCol) = «'» + Result2
Еще
'Проверите вторую решетку к праву
Если IsEmpty, то (клетки (ResultCurrentRow, ResultCurrentCol + ResultFirstCol - 1 + 24)) = True после этого
Клетки (ResultCurrentRow, ResultCurrentCol + ResultFirstCol - 1 + 24) = «'» + Result1
Клетки (ResultCurrentRow, ResultCurrentCol + ResultFirstCol + 24) = «'» + Result2
Еще
'Проверите третью решетку (левое дно)
Если IsEmpty, то (клетки (ResultCurrentRow + 12, ResultCurrentCol + ResultFirstCol - 1)) = True после этого
Клетки (ResultCurrentRow + 12, ResultCurrentCol + ResultFirstCol - 1) = «'» + Result1
Клетки (ResultCurrentRow + 12, ResultCurrentCol + ResultFirstCol) = «'» + Result2
Еще
'Проверите четвертую решетку (правое дно)
Если IsEmpty, то (клетки (ResultCurrentRow + 12, ResultCurrentCol + ResultFirstCol - 1 + 24)) = True после этого
Клетки (ResultCurrentRow + 12, ResultCurrentCol + ResultFirstCol - 1 + 24) = «'» + Result1
Клетки (ResultCurrentRow + 12, ResultCurrentCol + ResultFirstCol + 24) = «'» + Result2
Еще
MsgBox «все решетки полно для этого приспособления»
Закончитесь если
Закончитесь если
Закончитесь если
Закончитесь если
Следующее DataCurrentRow
Если 1 = 2 после этого
Для ResultCurrentCol = ResultFirstCol + 1 к разделу 2 ResultLastCol
Ряд (клетки (ResultFirstRow, ResultCurrentCol), клетки (ResultFirstRow, ResultCurrentCol + 1)). Отборно
Application.CutCopyMode = ложно
С выбором
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = ложно
. Ориентация = 0
.AddIndent = ложно
.ShrinkToFit = ложно
.MergeCells = ложно
Конец с
Selection.Merge
Следующее ResultCurrentCol
Закончитесь если '1=2
'centar характер delet решетки
Ряд («G2: BB25»). Отборно
Selection.Replace: = " '«, замена: = "", LookAt: =xlPart, _
SearchOrder: =xlByRows, MatchCase: =True, SearchFormat: =False, _
ReplaceFormat: =False
Selection.Replace: = " """, замена: = "", LookAt: =xlPart, _
SearchOrder: =xlByRows, MatchCase: =True, SearchFormat: =False, _
ReplaceFormat: =False
Selection.Replace: = " ¤ ", замена: = "", LookAt: =xlPart, _
SearchOrder: =xlByRows, MatchCase: =True, SearchFormat: =False, _
ReplaceFormat: =False
Cells.Select
skip1:
Подводная лодка конца
|