Товарищи, задачка простенькая но т.к. в VBA не селен что то бьюсь уже долго, подскажите. Есть на одной странице в один столбец данные по компаниям вида 1. Название компании: (ОНО ВСЕГДА КАПСОМ НАПИСАНО и начинается с порядковой цифры) ФИО Дира: Телефон: эмайл: сайт:
2. Название компании: ФИО Дира: Телефон: Факс:
и Так далее
Нужно обработать этот массив и составить из него на второй странице табличку. Обрабатывать хочу правилом. If строка написана капсом и начинается с цифры then ее значение перенести на второй лист в ячейку А1 (номер строки в которую надо данные перенести будут определять по порядковому номеру компании, или может перменную ввести чтоб на единичку увеличивалась после обработки одной компании). If строка содержит "ФИО Дира:" then перенести ее содержимое в ячейку А2, If строка содержит "Телефон:" then перенести ее ячеку в А3.
Подскажите как и где прописать это условие If строка содержит то что я хочу then копирую ее содержимое в определенную ячейку на определенный лист. Понимаю что это делается в VBA, но никак не пойму как это кодом реализовать, ведь ему каждую божую ячейку надо проверять на все условия...
п.с. иногда нет ФИО, иногда нет телефона компании, поэтому НЕТ закономерности расположения данных в исходном столбце. по одной компании может быть 6 строк инфы а по другой 4, а по третье 10. Поэтому нельзя тупо из вертикального вида по формулам каждую ячейку в горизонтальный вид перенести.
Товарищи, задачка простенькая но т.к. в VBA не селен что то бьюсь уже долго, подскажите. Есть на одной странице в один столбец данные по компаниям вида 1. Название компании: (ОНО ВСЕГДА КАПСОМ НАПИСАНО и начинается с порядковой цифры) ФИО Дира: Телефон: эмайл: сайт:
2. Название компании: ФИО Дира: Телефон: Факс:
и Так далее
Нужно обработать этот массив и составить из него на второй странице табличку. Обрабатывать хочу правилом. If строка написана капсом и начинается с цифры then ее значение перенести на второй лист в ячейку А1 (номер строки в которую надо данные перенести будут определять по порядковому номеру компании, или может перменную ввести чтоб на единичку увеличивалась после обработки одной компании). If строка содержит "ФИО Дира:" then перенести ее содержимое в ячейку А2, If строка содержит "Телефон:" then перенести ее ячеку в А3.
Подскажите как и где прописать это условие If строка содержит то что я хочу then копирую ее содержимое в определенную ячейку на определенный лист. Понимаю что это делается в VBA, но никак не пойму как это кодом реализовать, ведь ему каждую божую ячейку надо проверять на все условия...
п.с. иногда нет ФИО, иногда нет телефона компании, поэтому НЕТ закономерности расположения данных в исходном столбце. по одной компании может быть 6 строк инфы а по другой 4, а по третье 10. Поэтому нельзя тупо из вертикального вида по формулам каждую ячейку в горизонтальный вид перенести.Инкогнитовский
Сообщение отредактировал Инкогнитовский - Среда, 27.07.2016, 14:02
[moder]Излишнее цитирование удалено[/moder] в том то сложность что блоками разными все идет. может блок быть из 5 строк, потом из 10, потом из 8 и т.д.
[moder]Излишнее цитирование удалено[/moder] в том то сложность что блоками разными все идет. может блок быть из 5 строк, потом из 10, потом из 8 и т.д.Инкогнитовский
Сообщение отредактировал Pelena - Среда, 27.07.2016, 19:06
Сделал на скору руку формулами, но с дополнительным листом для расчетов. Наверняка этот доплист можно убрать, но нужно с массивными формулами возиться, а я в них не силён.
Можно и в VBA сделать, трудозатраты примерно те же, а может быть и меньше
Сделал на скору руку формулами, но с дополнительным листом для расчетов. Наверняка этот доплист можно убрать, но нужно с массивными формулами возиться, а я в них не силён.
Можно и в VBA сделать, трудозатраты примерно те же, а может быть и меньшеabtextime
[moder]Излишнее цитирование удалено[/moder] Спасибо за помощь. Не допер, что можно отдельные промежуточные вычисления делать на дополнительной странице, самый простой способ имхо, и мне понятно что откуда и куда в формулах. а то Меня сразу в VBA понесло, а я там не шарю совсем. Допилил чуть, чтоб имэйл и сайт сразу в одну ячейку собирались.
[moder]Излишнее цитирование удалено[/moder] Спасибо за помощь. Не допер, что можно отдельные промежуточные вычисления делать на дополнительной странице, самый простой способ имхо, и мне понятно что откуда и куда в формулах. а то Меня сразу в VBA понесло, а я там не шарю совсем. Допилил чуть, чтоб имэйл и сайт сразу в одну ячейку собирались. Инкогнитовский
Сообщение отредактировал Pelena - Среда, 27.07.2016, 19:05
Я сам и выгружаю, выгрузить можно только в txt и никак иначе. а уже его можно открыть через эксель и обработать в удобоваримый вид. Выражаю огромную благодарность за помощь abtextime и krosav4ig (не могу + в репу поставить - пишет только через 24 часа можно, но обязательно поставлю). Вопрос закрыт.
Я сам и выгружаю, выгрузить можно только в txt и никак иначе. а уже его можно открыть через эксель и обработать в удобоваримый вид. Выражаю огромную благодарность за помощь abtextime и krosav4ig (не могу + в репу поставить - пишет только через 24 часа можно, но обязательно поставлю). Вопрос закрыт.Инкогнитовский
Ну это ж совсем другое дело ПКМ по A1 на листе исходник > Обновить > выбираете ваш txt файл>импорт>на листе результат протягиваете формулы внизkrosav4ig