Страницы: 1
RSS
В ячейках параметры и значения, вывести значения в отдельные столбы-параметры
 
Доброго времени, уважаемые!
Снова вынужден попросить помощи (в идеале готовый код, ибо соображать что к чему уже не способен, но разберусь позже), сам никак не додумаюсь, голова болит, волосы дыбом, а сроки поджимают… в общем Вы в курсе ^^)

Изначально, сведения содержаться в csv-файле, но, думаю, это не сильно влияет на всю задачу.
Я его открываю (средствами макроса), и вижу как среди прочих сведений, которые чётко расположены в своём столбце, в своей ячейке, за исключением одного столбца - куча параметров-значений в одну ячейку. Конечно, эксель всё делает верно, он уже достаточно разбил, осталось «добить» и «разнести».
Имеем диапазон ячеек, в каждой ячейке записано в "одну строку\подряд\сплошняком" что-то вроде
«параметр1 : значение1», «параметр2 : значение2» etc
На Исходном листе указаны примерные варианты Значений, когда как Параметры – всегда одинаковы.
Порядок расположения Параметров – разный.
Суть: Из каждой ячейки листа (Исходный) найти параметры, посмотреть их значения и занести (значения) в соответствующие столбцы на другой лист (Готовый), где:
Наименования параметров (bu, cnt, diag…) – это атрибуты – наименования столбцов;
Значения (O10101015, 65489, Исправно…) – значения атрибутов.
*Если нет значения параметру "bu" (и некоторым другим, например, oldisn), то параметр не упоминается, однако, об этом сообщает другой параметр "no_bu" (no_oldisn) со значением "1". В обычном случае, bu есть и значение no_bu 0. В общем, это не важно, мне главное понять, как найти и перенести, на деле, может не все значения придётся переносить - нет данных, останется ячейка пустой в соответствующем столбце - не страшно.

Порыл интернет, нашёл как разбить (split и т. п.), но не хватает какого-то «озарения», добавить сравнение и занесения значений в соответствующие столбы. В общем, даже пример кода дать затрудняюсь – сдался, лечусь от мигрени =(

Заранее, премного благодарен!
 
Цитата
Изначально, сведения содержаться в csv-файле, но, думаю, это не сильно влияет на всю задачу.
Я его открываю (средствами макроса
А я думаю наоборот.
Нужно подкрутить макрос.
Возможно вообще переделать его.
Нужен пример csv
 
И как всё-таки верно:
"no_bu" или, как в файле "no_buh"?
 
Александр Моторин,Благодарю за отклик!
Цитата
Александр Моторин пишет: Нужно подкрутить макрос
Скорее всего нет. Видел несколько примеров по открытию файлов при помощи макроса (около 7-ми). Как в одном процессе Экселя (около 5-ти варинтов), так и в отдельном (пара вариантов).

CSV-файл изначально формирует некая "программа учёта", но т. к. программисты (здесь слова о чей-то матери), то пришлось экспорт этой программы осваивать самому. Оказалось, что основную информацию они поместили не в специально отведённые столбцы, а в одну ячейку. Её и пришлось "распотрошить" и разложить по уму.
Необходимо было открыть CSV-файл с наиболее качественным разделением текста на столбцы - удалось несколькими командами.
В данном случае, лишь в одном столбце записи были дополнительно снабжены символами раздела (запятой), не такими как вообще в документе (точка с запятой, кажется). А так же в начале и в конце текста ячейки имелись фигурные скобки. Конечно, можно было дописать непосредственно процесс открытия, но моего умения не хватило, решил оставить открытие файла одним из способов, и писать отдельно "фильтр", чтобы отдельно выловить параметр, и отдельно его значение, для последующего занесения в другую книгу, в соответствующие столбцы

С примером и то, что получилось ^^) отвечу завтра.
Bu\buh-запутался в обрезке текста. bu-bu или buh-buh. Главное было понять как найти, проверить и в соответствии занести.

Что же, как выше упомянул, мигрень отпустила и я продолжил писать. Получилось, происходит что требуется, правда код, конечно, "школьный", но хоть так работает. Капать глубже - ни времени не сил =( Разве что форматирование погуглю, что бы перед печатью так же макросом что-то куда-то ровнялось.
Но если есть желание подсказать и облегчить код, буду, конечно же, безмерно благодарен. Но, если у Вас есть свободная минутка. Т. к. всё же код работает и его исправление не столь требовательно.

Ещё раз благодарю за отклик, отвечу завтра.
С уважением...
Изменено: ZeLiK - 26.08.2014 12:37:11
 
Александр Моторин, доброго времени!
Как обещал, прикрепил CSV - файл исходник, из которого KEV-Ved (файл с макросом) импортирует сведения.
Так же прикрепил пример - краткий вариант кода, что вчера соорудил.
С уважением...
Страницы: 1
Наверх