Добрый день! Возникла проблема с преобразованием таблицы, никак не могу решить ее. Суть такая: имеется таблица, у которой огромное количество строк, нужно преобразовать ее к более удобоваримому виду. Пример есть в приложении. Нужно в первом столбце оставить только уникальные значения, а всю повторяющуюся информацию разнести по стоблцам. Более развернутое описание в приложенном файлике. Написал следующий макрос, но он работает как-то неправильно(выводит неверную информацию) и я не могу найти ошибку: [vba]
Код
i = 0 Do i = i + 1 k = 0 Do k = k + 1 If Worksheets(2).Cells(i, 1).Value = Worksheets(1).Cells(k, 1).Value Then t = 0 Do t = t + 1 x = 0 Do x = x + 1 If Worksheets(1).Cells(t, 2).Value = Worksheets(3).Cells(1, x).Value Then Worksheets(4).Cells(i, t).Value = Worksheets(1).Cells(t, 3).Value End If Loop While Worksheets(3).Cells(1, x).Value <> "" Loop While Worksheets(1).Cells(t, 1).Value <> "" End If Loop While Worksheets(1).Cells(k, 1).Value <> "" Loop While Worksheets(2).Cells(i, 1).Value <> ""
[/vba] Прошу указать где неверно составлен макрос. P. S. В программировании не силен, а по какой теме искать в форуме не знаю, да и траффик значительно ограничен на работе
Добрый день! Возникла проблема с преобразованием таблицы, никак не могу решить ее. Суть такая: имеется таблица, у которой огромное количество строк, нужно преобразовать ее к более удобоваримому виду. Пример есть в приложении. Нужно в первом столбце оставить только уникальные значения, а всю повторяющуюся информацию разнести по стоблцам. Более развернутое описание в приложенном файлике. Написал следующий макрос, но он работает как-то неправильно(выводит неверную информацию) и я не могу найти ошибку: [vba]
Код
i = 0 Do i = i + 1 k = 0 Do k = k + 1 If Worksheets(2).Cells(i, 1).Value = Worksheets(1).Cells(k, 1).Value Then t = 0 Do t = t + 1 x = 0 Do x = x + 1 If Worksheets(1).Cells(t, 2).Value = Worksheets(3).Cells(1, x).Value Then Worksheets(4).Cells(i, t).Value = Worksheets(1).Cells(t, 3).Value End If Loop While Worksheets(3).Cells(1, x).Value <> "" Loop While Worksheets(1).Cells(t, 1).Value <> "" End If Loop While Worksheets(1).Cells(k, 1).Value <> "" Loop While Worksheets(2).Cells(i, 1).Value <> ""
[/vba] Прошу указать где неверно составлен макрос. P. S. В программировании не силен, а по какой теме искать в форуме не знаю, да и траффик значительно ограничен на работеRaveshaw