Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.05.2016, 11:29   #1
Yanina_aa
 
Регистрация: 12.05.2014
Сообщений: 5
Вопрос Перенести строки в колонки

Добрый день,
Очень надеюсь на Вашу помощь.
Чтобы не запутать, в приложении файл. Из верхней таблицы нужно сделать нижнюю, кол-во строк ( кодов) и колонок (направлений) каждый раз разное ( мб меньше, мб больше).
Заранее спасибо
Вложения
Тип файла: xlsx Задача по строкам.xlsx (10.6 Кб, 20 просмотров)
Yanina_aa вне форума Ответить с цитированием
Старый 19.05.2016, 13:26   #2
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

предполагается
1) исходная таблица начинается с 1-й строки
2) 1-я строка содержит названия направлений
3) под исходной таблицей нет полезной информации (строки под исходной таблицей будут очищены макросом)

выполните этот
Код:
Sub TransformTable()
  Dim r1&, r2&, r3&, c&, rg As Range
  r1 = 2: r2 = Cells(r1, 1).End(xlDown).Row: r3 = r2 + 5
  Rows(r3).Resize(99999).ClearContents
  Cells(r3, 1).Resize(1, 4).Value = Array("Код", "Описание", "Кол-во", "Направление")
  r3 = r3 + 1: c = 2
  Do While Not IsEmpty(Cells(1, c))
    Set rg = Cells(r1, c).Resize(r2 - 1, 1)
    If WorksheetFunction.Count(rg) > 0 Then
      Set rg = rg.SpecialCells(xlCellTypeConstants, xlNumbers)
      Intersect(Range("A:B"), rg.EntireRow).Copy Cells(r3, 1): rg.Copy Cells(r3, 3)
      Cells(r3, 4).Resize(rg.Count, 1).Value = Cells(1, c): r3 = r3 + rg.Count
    End If
    c = c + 1
  Loop
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 19.05.2016, 14:26   #3
Yanina_aa
 
Регистрация: 12.05.2014
Сообщений: 5
По умолчанию

Огромное спасибо за ответ и оперативность!
Yanina_aa вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
транспонировать колонки в строки tevadim Microsoft Office Excel 19 24.01.2012 16:30
Разделение строки на колонки в StringGrid artemavd Общие вопросы Delphi 8 27.03.2011 10:11
перенести строки из Listbox2 в Listbox1 DIgorevich Компоненты Delphi 20 16.08.2010 17:19
Перенести символа с начала строки в место перед запятой этой же строки. Zhiltsov Microsoft Office Excel 4 05.06.2009 13:10
Перенести слова из массива в строки Xardas Паскаль, Turbo Pascal, PascalABC.NET 2 04.05.2008 12:34