Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Перенос значений столбов в строки - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перенос значений столбов в строки (Макросы/Sub)
Перенос значений столбов в строки
buskopan Дата: Среда, 19.11.2014, 12:56 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 29
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Доброго времени суток Нужна ваша помощь

В книге два листа В первом листе столбец
А - уникальный номер (скажем айди клиента)
В последующих столбцах даты по месяцам Под каждым месяцем оплата клиента Необходимо перенести данные на соседний лист где

столбец А - айди клиента
столбец Б - оплата
столбец С - дата

то есть каждую оплату перенести из столбцов в строки Не знаю сумел ли нормально обьяснить Приложил файл
К сообщению приложен файл: database.xlsm (32.7 Kb)
 
Ответить
СообщениеДоброго времени суток Нужна ваша помощь

В книге два листа В первом листе столбец
А - уникальный номер (скажем айди клиента)
В последующих столбцах даты по месяцам Под каждым месяцем оплата клиента Необходимо перенести данные на соседний лист где

столбец А - айди клиента
столбец Б - оплата
столбец С - дата

то есть каждую оплату перенести из столбцов в строки Не знаю сумел ли нормально обьяснить Приложил файл

Автор - buskopan
Дата добавления - 19.11.2014 в 12:56
Pelena Дата: Среда, 19.11.2014, 13:18 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19188
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
Здравствуйте.
Сначала редизайнер таблиц, затем фильтр и удаление строк с пустыми суммами
К сообщению приложен файл: 0416116.xlsm (58.1 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеЗдравствуйте.
Сначала редизайнер таблиц, затем фильтр и удаление строк с пустыми суммами

Автор - Pelena
Дата добавления - 19.11.2014 в 13:18
buskopan Дата: Среда, 19.11.2014, 13:57 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 29
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Сначала редизайнер таблиц,

Спасибо Вот пытаюсь разобраться Почему редизайнер выдает пустой лист
 
Ответить
Сообщение
Сначала редизайнер таблиц,

Спасибо Вот пытаюсь разобраться Почему редизайнер выдает пустой лист

Автор - buskopan
Дата добавления - 19.11.2014 в 13:57
Pelena Дата: Среда, 19.11.2014, 14:20 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 19188
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
Надо выделить таблицу, затем запустить редизайнер


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеНадо выделить таблицу, затем запустить редизайнер

Автор - Pelena
Дата добавления - 19.11.2014 в 14:20
buskopan Дата: Среда, 19.11.2014, 14:30 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 29
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
чувствую что провожусь долго Можете помочь с прикрепленным файлом ?
К сообщению приложен файл: 4616979.xlsm (90.5 Kb)
 
Ответить
Сообщениечувствую что провожусь долго Можете помочь с прикрепленным файлом ?

Автор - buskopan
Дата добавления - 19.11.2014 в 14:30
buskopan Дата: Среда, 19.11.2014, 14:30 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 29
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Надо выделить таблицу, затем запустить редизайнер

так и делаю Но почему-то лист чистый


Сообщение отредактировал buskopan - Среда, 19.11.2014, 14:31
 
Ответить
Сообщение
Надо выделить таблицу, затем запустить редизайнер

так и делаю Но почему-то лист чистый

Автор - buskopan
Дата добавления - 19.11.2014 в 14:30
Gustav Дата: Среда, 19.11.2014, 14:35 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2748
Репутация: 1137 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
А можно и попроще, не мудрствуя лукаво:
[vba]
Код
Sub makeNormalTable()
     Dim varCols, varRows, varData, varResult(), r, c, i
      
     varCols = Worksheets("info").Range("B1:AW1")
     varRows = Worksheets("info").Range("A2:A68")
     varData = Worksheets("info").Range("B2:AW68")
      
     ReDim varResult(1 To WorksheetFunction.CountA(varData), 1 To 3)
      
     For c = LBound(varCols, 2) To UBound(varCols, 2)
         For r = LBound(varRows, 1) To UBound(varRows, 1)
             If Not IsEmpty(varData(r, c)) Then
                 i = i + 1
                 varResult(i, 1) = varRows(r, 1)
                 varResult(i, 2) = varCols(1, c)
                 varResult(i, 3) = varData(r, c)
             End If
     Next r, c
      
     Worksheets("database").Range("A2").Resize(i, 3) = varResult
End Sub
[/vba]


МОИ: Ник, Tip box: 41001663842605
 
Ответить
СообщениеА можно и попроще, не мудрствуя лукаво:
[vba]
Код
Sub makeNormalTable()
     Dim varCols, varRows, varData, varResult(), r, c, i
      
     varCols = Worksheets("info").Range("B1:AW1")
     varRows = Worksheets("info").Range("A2:A68")
     varData = Worksheets("info").Range("B2:AW68")
      
     ReDim varResult(1 To WorksheetFunction.CountA(varData), 1 To 3)
      
     For c = LBound(varCols, 2) To UBound(varCols, 2)
         For r = LBound(varRows, 1) To UBound(varRows, 1)
             If Not IsEmpty(varData(r, c)) Then
                 i = i + 1
                 varResult(i, 1) = varRows(r, 1)
                 varResult(i, 2) = varCols(1, c)
                 varResult(i, 3) = varData(r, c)
             End If
     Next r, c
      
     Worksheets("database").Range("A2").Resize(i, 3) = varResult
End Sub
[/vba]

Автор - Gustav
Дата добавления - 19.11.2014 в 14:35
buskopan Дата: Среда, 19.11.2014, 14:38 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 29
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
А можно и попроще, не мудрствуя лукаво:

спасибо огромное! кажется получилось Надеюсь цифры сходятся
 
Ответить
Сообщение
А можно и попроще, не мудрствуя лукаво:

спасибо огромное! кажется получилось Надеюсь цифры сходятся

Автор - buskopan
Дата добавления - 19.11.2014 в 14:38
Gustav Дата: Среда, 19.11.2014, 14:45 | Сообщение № 9
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2748
Репутация: 1137 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
Надеюсь цифры сходятся

Для первого файла, вроде, сходились. Для второго не забудьте подправить диапазоны в Range(...). И, возможно, 2-ю и 3-ю колонку результата следует местами поменять, если надо, чтобы дата была третьей.


МОИ: Ник, Tip box: 41001663842605
 
Ответить
Сообщение
Надеюсь цифры сходятся

Для первого файла, вроде, сходились. Для второго не забудьте подправить диапазоны в Range(...). И, возможно, 2-ю и 3-ю колонку результата следует местами поменять, если надо, чтобы дата была третьей.

Автор - Gustav
Дата добавления - 19.11.2014 в 14:45
Pelena Дата: Среда, 19.11.2014, 15:02 | Сообщение № 10
Группа: Админы
Ранг: Местный житель
Сообщений: 19188
Репутация: 4421 ±
Замечаний: ±

Excel 365 & Mac Excel
С редизайнером тоже всё получается
К сообщению приложен файл: 4616979.xlsb (60.3 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеС редизайнером тоже всё получается

Автор - Pelena
Дата добавления - 19.11.2014 в 15:02
buskopan Дата: Среда, 19.11.2014, 15:17 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 29
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Для второго не забудьте подправить диапазоны в Range(...). И, возможно, 2-ю и 3-ю колонку результата следует местами поменять, если надо, чтобы дата была третьей.

Еще раз большое спасибо! Все получилось
 
Ответить
Сообщение
Для второго не забудьте подправить диапазоны в Range(...). И, возможно, 2-ю и 3-ю колонку результата следует местами поменять, если надо, чтобы дата была третьей.

Еще раз большое спасибо! Все получилось

Автор - buskopan
Дата добавления - 19.11.2014 в 15:17
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Перенос значений столбов в строки (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!