Страницы: 1
RSS
Разделения (сплит) ячейки на столбцы с особыми условиями
 
Здравствуйте, многоуважаемые обитатели форума.
Пытаюсь решить задачу по оптимизации, однако своих знаний в написании VBA кода у меня не хватает.

Каждый месяц приходит около десяти файлов excel, которые представляют собой реестры музыкальных произведений. Беда заключается в том, что ячейки в данных реестрах имеют следующий вид: CAVC0417_TK001.2_ALONG_THE_COTE_AZUR_Benedic_Lamdin_(PRS),_Riaan_Vosloo_(PRS)_Cavendish_Music_Co._Ltd._(PRS). Информацию из данных реестров необходимо перенести в специализированную музыкальную справку (прилагаю пример).

Рассмотрим элементы ячейки:
Код (нас не интересует) - CAVC0417_TK001.2
Название композиции - ALONG_THE_COTE_AZUR
Исполнители - Benedic_Lamdin_(PRS),_Riaan_Vosloo_(PRS)
Автор обработки - Cavendish_Music_Co._Ltd._(PRS)

Задача заключается в следующем:
Необходимо написать VBA код, который бы делил (сплитил) ячейку вида "CAVC0417_TK001.2_ALONG_THE_COTE_AZUR_Benedic_Lamdin_(PRS),_Riaan_Vosloo_(PRS)_Cavendish_Music_Co._Ltd._(PRS)" на три столбца: название композиции, исполнитель, автор обработки, в форме указанной выше.

Как избавится от "кода" я представляю, так как везде он имеет одинаковый вид - "*TK*_"
Вычленить название композиции можно попробовать по критерию всех заглавных букв, а вот что делать с оставшимися столбцами я не имею ни малейшего представления.
Я знаю, что количество авторов обработки ограничено, но реестра этих авторов у меня, к сожалению, нет, что для меня усложняет решение данной задачи.

В идеале все должно работать так:
1. Объединить все реестры в одну книгу (такой макрос у меня есть)
2. Разделить на каждой странице сведенной книги все ячейки на три столбца (форма описана выше)
3. Для каждой страницы "нового" формата создать музыкальную справку и заполнить ее соответствующими данными.

Прилагаю пример реестра и заполненной музыкальной справки

Я очень прошу помочь мне с решением пункта 2, со всем остальным, я думаю, смог бы справится сам. Однако если Вам не сложно или у Вас моя задача вызывает интерес, я не буду против полного решения.

Спасибо за Ваше внимание.





 
YungSin, не могу посмотреть файлы. Автор обработки всегда один? В конце исполнителя всегда (PRS)?
 
К сожалению, нет. Автор не один, в конце исполнителя не всегда (PRS). В этом и заключается вся сложность.

Прилагаю таблицы.

Спасибо за Ваш быстрый ответ.

Так выглядит реестр:

     
CAVC0417_TK001.2_ALONG_THE_COTE_AZUR_Benedic_Lamdin_(PRS),_Riaan_Vosloo_(PRS)_Cavendish_Music_Co._Ltd._(PRS)2
CAVC0455_TK003.2_HAPPY_GO_LUCKY_Jason_Tarver_(PRS),_Louisa_Shaw_(PRS)_Cavendish_Music_Co._Ltd._(PRS)2
CAVC0462_TK003_SOUNDS_OF_SUMMER_Philip_Michael_(PRS),_James_Hunter_Bell_(NS)_Cavendish_Music_Co._Ltd._(PRS)2
CAVC0462_TK005_WINDBLOWN_Philip_Michael_(PRS),_John_Griggs_(NS)_Cavendish_Music_Co._Ltd._(PRS).mp31
CAVC0462_TK008_SUMMER_ESCAPE_Philip_Michael_(PRS),_James_Hunter_Bell_(NS)_Cavendish_Music_Co._Ltd._(PRS).mp31
VH039_TK007_NATURE_WALK_(MAIN)_William_Werwath_VideoHelper3
VH039_TK018_SPANKY_(MAIN)_JJ_Farris,_James_Barton_VideoHelper,_SongHelper_Music2
VH039_TK075_TRAILER_PARK_FAIRY_TALE_(MAIN)_William_Werwath_VideoHelper.mp31
VH039_TK156_PERK_ALERT_(BACKGROUND)_Chris_Jones.mp31
XRCD006_TK006_BRIDE_OF_FUNK_MACHINE_Mitch_Lijewski_X-Ray_Dog_Publishing.mp31
XRCD006_TK009_GET_THE_FUNK_Jim_Crew_X-Ray_Dog_Publishing.mp31
XRCD006_TK050_EVERYBODY_DANCE_Paul_Dinletir_X-Ray_Dog_Publishing2
XRCD010_TK018_FUNK_JOB_Tom_Lilly_Super_Pooch_Publishing.mp31
XRCD010_TK020_THE_PLAYERS_Tom_Lilly_Super_Pooch_Publishing4
XRCD010_TK025_MAMBO_NOVA_Jono_Brown_Chris_Smith_Super_Pooch_­Publishing_X-Ray_Dog_Publishing2
XRCD010_TK027_SMOKIN_SALSA_Jim_Crew_X-Ray_Dog_Publishing.mp31
XRCD010_TK029_SWINGERS_PARADE_Jono_Brown_Chris_Smith_Super_P­ooch_Publishing_X-Ray_Dog_Publishing4
XRCD010_TK038_BAD_ROAD_AHEAD_Jim_Suhler_Terry_Manning_Super_­Pooch_Publishing.mp31
XRCD010_TK040_ONE_EYED_CHUPACABRA_Jim_Suhler_Terry_Manning_S­uper_Pooch_Publishing.mp31

Примерно так выглядит справка:

     
Название   музыкальных произведенийКомпозиторАвтор обработкиАвтор текстаДлительность   звучания (мин. сек)
12345
SUPERSONICBenedic_Lamdin_(PRS),_Riaan_Vosloo_(PRS)Cavendish_Music_Co._Ltd._(PRS)
CATWALKBenedic_Lamdin_(PRS),_Riaan_Vosloo_(PRS)Cavendish_Music_Co._Ltd._(PRS)
ROUGH_DIAMONDBenedic_Lamdin_(PRS),_Riaan_Vosloo_(PRS)Cavendish_Music_Co._Ltd._(PRS)
DEUX_MOULINSBruce_MaginnisCavendish_Music_Co._Ltd._(PRS)
POSTING_DREAMSLawrence_Hayes_(PRS),_Louis_Greenwood_(PRS),_Louisa_ShawCavendish_Music_Co._Ltd._(PRS)
GAME_WINNERDavid_Fuller_(PRS_MCPS),_Michael_Georgiades_(PRS)Cavendish_Music_Co._Ltd._(PRS)
DO_THE_MATHJason_Tarver_(PRS),_Louisa_Shaw_(PRS)Cavendish_Music_Co._Ltd._(PRS)
GETTING_ONPhilip_Michael_(PRS),_John_Griggs_(NS)Cavendish_Music_Co._Ltd._(PRS)
GOLDEN_DAYSPhilip_Michael_(PRS),_John_Griggs_(NS)Cavendish_Music_Co._Ltd._(PRS)
THE_HEIST_(MAIN)William_WerwathVideoHelper
ROAD_TRIPPER_(MAIN)Joseph_Saba,_Stewart_WinterVideoHelper
BLOOD_ON_THE_BAYOU_(MAIN)Matt_HaickVideoHelper
SPANKY_(BACKGROUND)JJ_Farris,_James_BartonVideoHelper,_SongHelper_Music
PERK_ALERT_(BACKGROUND)Chris_JonesVideoHelper,_SongHelper_Music
SWING_CATSMark_GriskeyX-Ray_Dog_Publishing
BLUE_WAVEGio_Moscardino_Vincent_DininnoX-Ray_Dog_Publishing
GROOVEYARD_JUNKERJono_Brown_Tom_LillySuper_Pooch_Publishing
Изменено: YungSin - 11.02.2020 19:09:22
 
Из +- адекватных вариантов могу предложить обрабатывать то, что есть автоматически, остальное разносить руками по справочнику, пока наполненность справочника не перекроет потребность.
Страницы: 1
Наверх