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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.06.2011, 17:14   #1
Aeriges
Новичок
Джуниор
 
Регистрация: 29.12.2010
Сообщений: 2
По умолчанию Вопрос по упорядочиванию данных в таблице

Дорогие специалисты в области Excel / VBA, ОЧЕНЬ нужна Ваша помощь!

Уже использовал все возможные имеющиеся (у меня) приемы, но...не помогло...
Полученная таблица данных совершенно не удобна для обработки. (в планах: создание сводной таблице на основе упорядоченной базы. пример базы вложении на листе "Исходник").
Проблема состоит в том, что для создания сводной таблицы которая предоставит информацию в разрезе контрагентов/артикулов/накладных и объеом вотгрузок нет нормального источника данных. Т.е. исходник не позволяет этого сделать.
Таким образом, мне необходимо в столбец "B" внести имя контрагента а в столбец "C" внести артикул, так чтобы они были на одинаковой строке с накладной. НО проблема в том, что контрагент находится в той же строке что и накладная. А мне неободимо котрагента вывести в параллельный столбец.
Тоже самое надо сделать с артикулом...
Т.е. выевести контрагента, артикул и накладную в 1 строку но в разные столбцы...
Объем моего рабочего файла в полной версии очень большой и таких строк до 60000...поэтому нужен способ автоматизации...
его и ищу...

Пожалуйста, посмотрите вложение, возможно Вам будет проще меня понять, если вы сравнить лист "Искомый результат" с листом "Исходник".
...Файл во ложении формата 2007.
Любая помощь будет очень кстати.
Вложения
Тип файла: rar Вопрос по базе.rar (15.1 Кб, 18 просмотров)

Последний раз редактировалось Aeriges; 19.06.2011 в 17:21.
Aeriges вне форума Ответить с цитированием
Старый 19.06.2011, 17:55   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Я правильно понимаю,что Контрагента я могу определить по форматированию ячекйки-отступ 6.
Больше не нашел никаких отличий
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 19.06.2011, 18:01   #3
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Привязался к
"Расх." и "Возвратная накладная"


Код:
Option Explicit

Sub tt()
Dim a, i&, art$, kontr$

a = Range([D4], Range("E" & Rows.Count).End(xlUp))

ReDim b(1 To UBound(a), 1 To 2)

For i = 1 To UBound(a)
If a(i, 1) <> Empty Then art = a(i, 1)
If InStr(a(i, 2), "Расх.") = 0 Then
If InStr(a(i, 2), "Возвратная накладная") = 0 Then
kontr = a(i, 2)
End If
End If

If InStr(a(i, 2), "Расх.") Or InStr(a(i, 2), "Возвратная накладная") Then
b(i, 1) = kontr: b(i, 2) = art
End If


Next
[b4:c4].Resize(UBound(b)) = b
End Sub
Ну и столбцу с артикулами нужно поставить формат как у номера 00989 в исходнике - ZIP code.
Я поставил вручную всему столбцу, но можно и в код прописать, перед выгрузкой массива.
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 19.06.2011 в 18:10.
Hugo121 вне форума Ответить с цитированием
Старый 19.06.2011, 18:06   #4
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Посмотрите пример во вложении. Откройте файл и запустите макрос "Main".
Привязка осуществляется по наличию даты в конце строки.
Вложения
Тип файла: rar Ответ по базе.rar (23.6 Кб, 44 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 19.06.2011, 18:17   #5
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Судя по всему, других алгоритмов нет
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 19.06.2011, 20:23   #6
Aeriges
Новичок
Джуниор
 
Регистрация: 29.12.2010
Сообщений: 2
Хорошо this is magic

Цитата:
Сообщение от SAS888 Посмотреть сообщение
Посмотрите пример во вложении. Откройте файл и запустите макрос "Main".
Привязка осуществляется по наличию даты в конце строки.
SAS888, Hugo я даже не ожидал что можно это так сделать!!!
Спасибо, за супер ответ!!! Да и в не рабочий день! )))
Все работает на 100%
SAS888, спасибо Вам что ответили файлом, для не сильно сведущего в vba, такой вариант упрощает ))

Еще раз Вам Спасибо!
Aeriges вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сохранение данных в таблице Aleksey1989 Помощь студентам 4 21.10.2010 11:16
Вопрос по таблице. Tabasco7 Microsoft Office Excel 6 02.08.2010 15:05
Вопрос по Таблице I1IarpeY Паскаль, Turbo Pascal, PascalABC.NET 1 26.06.2010 16:52
Вопрос от новичка - отбор уникальных записей в таблице Molodtsov Microsoft Office Excel 6 20.01.2010 20:22