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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.04.2014, 14:48   #1
Dr.House69
Пользователь
 
Регистрация: 12.04.2014
Сообщений: 16
По умолчанию Макрос к таблице

Добрый день! Возникла очередная проблема с начальством, прошу помощи)
Дана таблица из 4 столбцов (начала соответственно с А1, В1,, С1, D1)
В первой колонке фамилии (могут повторяться), во второй слова, в третьей и четвертой даты. Как сделать такой макрос,чтобы при его запуске все таблица преобразовывалась к такому виду, что организовывается поле из трех столбцов для каждой фамилии, в строку пишется фамилия, под ней - слово из второй колонки, напротив него- соответствующие ему даты, и так для всех фамилий, причем если фамилии совпадают, то не создавать еще одно такое поле, а заносить далее. То есть было
Иванов дорога 12 14
Сидоров машина 13 16
Сергеев дорога 15 17
Сидоров путь 15 17
Иванов поезд 13 21

а стало Иванов Сидоров Сергеев
дорога 12 14 машина 13 16 дорога 15 17
поезд 13 21 путь 15 17
Dr.House69 вне форума Ответить с цитированием
Старый 12.04.2014, 14:52   #2
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

То есть было... а стало...Покажите в файле XLS: файл в архив, Расширенный режим - скрепка...
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 12.04.2014, 15:24   #3
Dr.House69
Пользователь
 
Регистрация: 12.04.2014
Сообщений: 16
По умолчанию

Цитата:
Сообщение от Казанский Посмотреть сообщение
То есть было... а стало...Покажите в файле XLS: файл в архив, Расширенный режим - скрепка...
Вот,прикрепил
Вложения
Тип файла: zip Книга41.zip (1.7 Кб, 9 просмотров)
Dr.House69 вне форума Ответить с цитированием
Старый 12.04.2014, 19:44   #4
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Пробуйте
Код:
Sub House69()
Dim u(), x, i&
Application.ScreenUpdating = False
ActiveSheet.AutoFilterMode = False
u = Range("A1", Cells(Rows.Count, "A").End(xlUp)).Value
Rows(1).Insert
Range("A1") = "a"
i = 6
On Error Resume Next
With New Collection
  For Each x In u
  .Add Empty, x
    If Err Then
      Err.Clear
    Else
      Range("A1").AutoFilter 1, x
      Intersect(ActiveSheet.AutoFilter.Range, Range("B:D")) _
        .SpecialCells(xlCellTypeVisible).Copy Cells(2, i)
      Cells(2, i) = x
      i = i + 3
    End If
  Next
End With
ActiveSheet.AutoFilterMode = False
Rows(1).Delete
Application.ScreenUpdating = True
End Sub
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 12.04.2014, 21:02   #5
Dr.House69
Пользователь
 
Регистрация: 12.04.2014
Сообщений: 16
По умолчанию

Цитата:
Сообщение от Казанский Посмотреть сообщение
Пробуйте
Код:
Sub House69()
Dim u(), x, i&
Application.ScreenUpdating = False
ActiveSheet.AutoFilterMode = False
u = Range("A1", Cells(Rows.Count, "A").End(xlUp)).Value
Rows(1).Insert
Range("A1") = "a"
i = 6
On Error Resume Next
With New Collection
  For Each x In u
  .Add Empty, x
    If Err Then
      Err.Clear
    Else
      Range("A1").AutoFilter 1, x
      Intersect(ActiveSheet.AutoFilter.Range, Range("B:D")) _
        .SpecialCells(xlCellTypeVisible).Copy Cells(2, i)
      Cells(2, i) = x
      i = i + 3
    End If
  Next
End With
ActiveSheet.AutoFilterMode = False
Rows(1).Delete
Application.ScreenUpdating = True
End Sub
Спасибо огромное! Все работает
Dr.House69 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос вставки фоток в таблице maragva Microsoft Office Excel 13 06.08.2012 17:33
макрос отображения даты в сводной таблице S_V Microsoft Office Excel 0 20.05.2011 21:56
Разработчик|макрос. Добавление элементов к уже существующей таблице. DarkGuard Microsoft Office Excel 0 24.03.2011 19:51
макрос.Чтение данных из 1 табл и результат действия в 2 таблице. igsxor Microsoft Office Excel 50 19.03.2011 23:25
Макрос группировки данных в таблице magana Microsoft Office Excel 1 28.01.2011 23:52