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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.02.2011, 20:07   #1
Dorina
Пользователь
 
Регистрация: 08.02.2011
Сообщений: 11
По умолчанию Очень нужен макрос для таблицы

Доброго времени суток! Очень нужна помощь!
Нужно преобразовать таблицу и записать ее в следующий лист(прикладываю картинки: Лист1 - исходная таблица, Лист2 - то, что надо получить), сложность в том, что таблица на самом деле большая, т.е. D1, D2, D3, D4, D5 и т.д., и столбцов U1-1, U2-1 и т.д. тоже много, и при этом надо будет обрабатывать таблицы с разным кол-вом этих столбцов.
Сижу второй день голову ломаю! Может кто подскажет! Заранее спасибо огромное!
Изображения
Тип файла: jpg Лист1.jpg (71.1 Кб, 161 просмотров)
Тип файла: jpg Лист2.jpg (57.6 Кб, 131 просмотров)
Dorina вне форума Ответить с цитированием
Старый 08.02.2011, 20:22   #2
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
прикладываю картинки
лучше бы Вы файлик приложили.
Не обязательно всю таблицу, хватит десятка строк.
А здесь совсем непонятно, что, куда...
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 08.02.2011, 20:50   #3
Dorina
Пользователь
 
Регистрация: 08.02.2011
Сообщений: 11
По умолчанию

Извиняюсь! Файл прикрепила, но он схематичный, строк может быть любое количество, и столбцов U1 и т.д. тоже каждый раз разное количество. Суть в том, что нужно: убрать столбцы с ФИО, адресом и т.д.; оставить столбец с № и все столбцы U, и в этих столбцах U1 и т.д. раскидать значения, которые идут через точку с запятой столбцом. Т.е. было

U1-1
1; 3; 6

Надо
U1-1
1
3
6

и перед 1, 3 и 6 сохранить соответствующий номер (т.е. D1).
Надеюсь понятно объяснила!
Вложения
Тип файла: zip Таблица.zip (4.2 Кб, 14 просмотров)
Dorina вне форума Ответить с цитированием
Старый 08.02.2011, 21:15   #4
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

Цитата:
Сообщение от Dorina Посмотреть сообщение
Извиняюсь! Файл прикрепила, но он схематичный, строк может быть любое количество, и столбцов U1 и т.д. тоже каждый раз разное количество. Суть в том, что нужно: убрать столбцы с ФИО, адресом и т.д.; оставить столбец с № и все столбцы U, и в этих столбцах U1 и т.д. раскидать значения, которые идут через точку с запятой столбцом. Т.е. было

U1-1
1; 3; 6

Надо
U1-1
1
3
6

и перед 1, 3 и 6 сохранить соответствующий номер (т.е. D1).
Надеюсь понятно объяснила!
нет понятней не стало, куда выгружать.....данные и что делать с остальными данными
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Старый 08.02.2011, 21:27   #5
Dorina
Пользователь
 
Регистрация: 08.02.2011
Сообщений: 11
По умолчанию

Остальные столбцы убрать, а выгрузить во второй лист.
Dorina вне форума Ответить с цитированием
Старый 08.02.2011, 21:54   #6
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

не уверен что правильно понял:
Код:
Sub test()
Dim arr(), arrF(), y, x&, a&, i&, j&
arr = Sheets("Лист1").[a1].CurrentRegion.Value '7
ReDim arrF(1 To 50000, 1 To UBound(arr, 2) - 5)
For i = 2 To UBound(arr)
  For j = 7 To UBound(arr, 2)
  arrF(1, j - 5) = arr(1, j)
        y = Split(arr(i, j), ";")
            For x = 0 To UBound(y)
                a = a + 1
                arrF(a + 1, 1) = arr(i, 1)
                arrF(a + 1, j - 5) = y(x)
            Next
   Next
Next
With Sheets("Лист2")
.[a1].Resize(a, UBound(arrF, 2)) = arrF
.Activate
End With
'Debug.Print UBound(arr, 2)
End Sub
сначала хотел рисунок кода сбросить
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Старый 08.02.2011, 22:08   #7
nilem
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 616
По умолчанию

Ну, как вариант что ли. Зеленая стрелка.
Выходной массив ограничен на 10000 строк. Достаточно?
Вложения
Тип файла: zip ТаблицаДорина.zip (19.5 Кб, 12 просмотров)

Последний раз редактировалось nilem; 08.02.2011 в 22:18. Причина: Поправочка
nilem вне форума Ответить с цитированием
Старый 08.02.2011, 22:09   #8
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

добавил файл
Вложения
Тип файла: zip Копия Таблица.zip (10.6 Кб, 11 просмотров)
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Старый 08.02.2011, 22:12   #9
R Dmitry
Форумчанин
 
Регистрация: 07.03.2010
Сообщений: 796
По умолчанию

У нас разные варианты
я больше читал, ты больше смотрел
Кто из нас угадал ?
Логика?!.... она где то рядом... E_mail: dg_rusak@mail.ru Если спасибо мало: Яндекс . Деньги - 41001731366021 WM R269866874234
R Dmitry вне форума Ответить с цитированием
Старый 08.02.2011, 22:17   #10
nilem
Форумчанин
 
Регистрация: 25.04.2010
Сообщений: 616
По умолчанию

Цитата:
Сообщение от R Dmitry Посмотреть сообщение
У нас разные варианты
я больше читал, ты больше смотрел
Кто из нас угадал ?
Имеется в виду подсмотрел что ли? Зря Вы так.
nilem вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
макрос для таблицы orlovya Microsoft Office Excel 11 02.11.2010 16:54
Макрос для сводной таблицы kipish_lp Microsoft Office Excel 2 21.04.2010 10:58
макрос для заполнения таблицы ruavia3 Microsoft Office Excel 4 09.09.2009 15:11
Макрос для таблицы Radagest Microsoft Office Excel 3 17.07.2009 20:58
очень срочно нужен макрос на транспонирование таблицы kievlyanin Microsoft Office Excel 10 25.06.2008 13:20