Очень нужна помощь спецов. До не давнего времени думал, что я хорошо разбираюсь в EXEL. Мне нужно создать макрос для копирования конкретных ячеек в конкретные ячейки другой таблицы. Исходный файл хоть и кривой, но нужные ячейки находятся в строгом порядке. Задача также усложняется тем, что исходная таблица бывает с разным количеством данных. Вложил файл. На первом листе исходная таблица, на втором требуемая форма.  В таблицах обозначил цветами что от куда и куда. Очень надеюсь на вашу помощь.
Всем привет!
Очень нужна помощь спецов. До не давнего времени думал, что я хорошо разбираюсь в EXEL. Мне нужно создать макрос для копирования конкретных ячеек в конкретные ячейки другой таблицы. Исходный файл хоть и кривой, но нужные ячейки находятся в строгом порядке. Задача также усложняется тем, что исходная таблица бывает с разным количеством данных. Вложил файл. На первом листе исходная таблица, на втором требуемая форма.  В таблицах обозначил цветами что от куда и куда. Очень надеюсь на вашу помощь.Galexey
Sub ertert() Dim x, y(), i&, k& With Sheets("Лист1") x = .Range("A8:N" & .Cells(Rows.Count, 2).End(xlUp).Row).Value End With ReDim y(1 To UBound(x), 1 To 6)
For i = 1 To UBound(x) If Len(x(i, 1)) Then k = k + 1 y(k, 1) = x(i, 1) y(k, 2) = x(i, 2) y(k, 3) = x(i + 1, 2) y(k, 4) = x(i, 7) y(k, 5) = x(i, 9) y(k, 6) = x(i, 13) End If Next i
With Sheets("Лист2") .Range("A2").CurrentRegion.Offset(1).ClearContents .Range("A4:F4").Resize(k).Value = y() End With End Sub
[/vba]
Galexey, привет попробуйте вот так [vba]
Код
Sub ertert() Dim x, y(), i&, k& With Sheets("Лист1") x = .Range("A8:N" & .Cells(Rows.Count, 2).End(xlUp).Row).Value End With ReDim y(1 To UBound(x), 1 To 6)
For i = 1 To UBound(x) If Len(x(i, 1)) Then k = k + 1 y(k, 1) = x(i, 1) y(k, 2) = x(i, 2) y(k, 3) = x(i + 1, 2) y(k, 4) = x(i, 7) y(k, 5) = x(i, 9) y(k, 6) = x(i, 13) End If Next i
With Sheets("Лист2") .Range("A2").CurrentRegion.Offset(1).ClearContents .Range("A4:F4").Resize(k).Value = y() End With End Sub
nilem, сначала писал что не возможно выполнить с объединенными ячейками, я на исходной таблице все ячейки разделил,но появилась ошибка Cant exicute code in break mode
nilem, сначала писал что не возможно выполнить с объединенными ячейками, я на исходной таблице все ячейки разделил,но появилась ошибка Cant exicute code in break modeGalexey