есть график производства видов продукции в виде матрицы. надо запихнуть его в сводную таблицу. для этого надо перевести в табличный формат. помогите(
есть график производства видов продукции в виде матрицы. надо запихнуть его в сводную таблицу. для этого надо перевести в табличный формат. помогите(pra313
'с какой строки формировать таблицу из матрицы, т.е. результат j = 22 'строки For i = 2 To 6 'столбцы For k = 2 To 4 'если значение не пустое If ActiveSheet.Cells(i, k) <> 0 Then 'скопируем название строки ActiveSheet.Cells(j, 1).Value = ActiveSheet.Cells(i, 1) 'скопируем название столбца ActiveSheet.Cells(j, 2).Value = ActiveSheet.Cells(1, k) 'скопируем значенеи ячейки на пересечении столбца и строки ActiveSheet.Cells(j, 3).Value = ActiveSheet.Cells(i, k) 'переход на новую строку во вновь создаваемой таблицы (цели) j = j + 1 End If Next k Next i
End Sub
[/vba] Пример в приложении
Простой макрос.
[vba]
Код
Sub matrix2table()
'с какой строки формировать таблицу из матрицы, т.е. результат j = 22 'строки For i = 2 To 6 'столбцы For k = 2 To 4 'если значение не пустое If ActiveSheet.Cells(i, k) <> 0 Then 'скопируем название строки ActiveSheet.Cells(j, 1).Value = ActiveSheet.Cells(i, 1) 'скопируем название столбца ActiveSheet.Cells(j, 2).Value = ActiveSheet.Cells(1, k) 'скопируем значенеи ячейки на пересечении столбца и строки ActiveSheet.Cells(j, 3).Value = ActiveSheet.Cells(i, k) 'переход на новую строку во вновь создаваемой таблицы (цели) j = j + 1 End If Next k Next i
Тоже самое, только новая таблица создаётся на втором листе. Осталось только вставить исходную таблицу и поменять начальные и конечные значения i и k
Тоже самое, только новая таблица создаётся на втором листе. Осталось только вставить исходную таблицу и поменять начальные и конечные значения i и kmathiax90