|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
19.02.2017, 03:01 | #1 |
Пользователь
Регистрация: 12.02.2017
Сообщений: 87
|
Макрос для удаления ненужных строк из буфера обмена
Макрос для удаления ненужных строк из буфера обмена
Искал в интернете и здесь на сайте но похожего не нашел. Возможно ли решение данной задачи с помощью макроса? Копируются данные с сайта и нужно вставить их в ексель но не все а только 1-ю, 4-ю строку и все остальные строки начиная с той которая начинается с определенного слова... к примеру это слово "пиво" а копируемое выглядит так: PHP код:
PHP код:
Код:
Последний раз редактировалось СтаСС; 19.02.2017 в 03:21. |
19.02.2017, 11:11 | #2 |
Форумчанин
Регистрация: 29.08.2012
Сообщений: 209
|
Пробуйте так
Код:
Код:
Алексей М.
Последний раз редактировалось AlexM12; 19.02.2017 в 19:39. |
20.02.2017, 01:35 | #3 |
Пользователь
Регистрация: 12.02.2017
Сообщений: 87
|
AlexM12, да СПАСИБО!!! - выбирает то что надо СУПЕР!
Но есть одно но.. формат вставки не такой как в моем макросе (я писал его через макрорекордер) .. теперь получается что в каждой строке заполнена только одна ячейка.. а в моем было вставка в формате "Текст в кодировке Unicode" и у меня заполнялась таблица плюс в (Е1:Е20) еще и с разделителем ( : ) правда что б "заработали" разделители я прогонял макрос два раза иначе почему-то не хочет разделять.. после первого раза выскакивает окно:" Здесь уже есть данные. Вы хотите заменить их? " я нажимал "ок" и второй раз запускал макрос.. тогда все получалось как надо.. Я сейчас пробовал свой макрос вставить в ваш и наоборот.. но естественно у меня это не получилось (( Можно их как-то корректно объединить? Пжлст )) Правда боюсь что если его надо будет прогонять два раза из-за разделителя то ничего не выйдет.. ведь удалять будет опять строки.. (( Может чтоб "автоматом" второй раз прогонялась лишь вставка именно в Е1:Е20 (верней из-за 1 и 4 строки теперь это будет Е3-Е22) ??? И еще.. я ваш макрос так и не понял.. вот например мне понадобится кроме 1 и 4 строки еще и 2-ю к примеру или 8-ю.. как и что там тогда поменять надо? "Разжуйте" пожалуйста немного! СПАСИБО!!! Сорри за наглость)) Последний раз редактировалось СтаСС; 20.02.2017 в 04:35. |
20.02.2017, 05:49 | #4 |
Пользователь
Регистрация: 12.02.2017
Сообщений: 87
|
наверно с примером будет легче понять..
|
20.02.2017, 07:17 | #5 |
Пользователь
Регистрация: 12.02.2017
Сообщений: 87
|
Решил старую проблему "запуска второго раза макроса".. оказывается достаточно при первом запуске книги перед запуском основного макроса "вставки" запустить типа такой ерунды на новом-пустом листе
Код:
осталась одна проблема.. как вставить в предложенный AlexM12 макрос код что б вставка была в формате Текст в кодировке Unicode у меня не выходит почемуто )) ночи мне на все хватило )) эту задачу тоже решил правда способ "топорный" но действенный )) Код:
и еще новый созрел.. как из буфера удалить строки которые начинаются с символа "(" ? Вот AlexM12 написал макрос и что в него дописать еще чтоб после слова "пиво" копируются все строки кроме тех что начинаются с открытых скобок тоесть с символа "(" ? Заранее спасибо!!! )) Последний раз редактировалось СтаСС; 20.02.2017 в 09:09. |
20.02.2017, 10:24 | #6 |
Форумчанин
Регистрация: 29.08.2012
Сообщений: 209
|
К сожалению ваш файл не дал нужной информации и ссылка в файле на платный контент. Нет желание туда заходить.
Поясню как работает макрос. Строки из буфера обмена помещаются в массив Arr. В каждом элементе массива оказывается одна строка. Разделение строк по символу с кодом 10 - перевод строки. Элементы массива имеют номера от 0 и далее. Первая строка - 0, 4 строка - 3 Строка, которая начинается со слова из переменной iStr должны сохранится. В первом IF ищем строку, начинающуюся со слова из iStr и когда находим, меняем значение логической переменной Bln на True. Логическое выражение второго IF становится TRUE, когда выполняется одно из трех условий. Т.е. при первой строке (0) или при четвертой (3) или Bln = True Когда условие выполняется, то строки пишем в массив MyArr В последней строке массив записываем в столбец А. У вас в коде происходит деление строк по столбцам с разделителями Tab и двоеточие. Так как ваши примеры бесполезны, сделайте образец того что надо вставить в таблицу. Для этого скопируйте нужный фрагмент страницы сайта и сохраните в txt или doc файл. Пока не знаю что будет лучше копировать в буфер. Жду файл.
Алексей М.
|
20.02.2017, 11:01 | #7 |
Пользователь
Регистрация: 12.02.2017
Сообщений: 87
|
Я извиняюсь но данный мной контент АБСОЛЮТНО бесплатен.. и весь сайт и тем более ссылка что я кинул..может это из-за UA ? Но не важно вобщем..
Как я уже написал выше проблема вставки более-менее решена.. как работает ваш макрос буду разбираться по вашему пояснению, вам отдельное за это спасибо! Помогите если это возможно усовершенствовать ваш макрос - чтоб после кодового слова "пиво" копировались все строки кроме тех что начинаются с открытых скобок ( символ "(" ) Добавляю архив где все более понятно написано и показано на картинке.. спасибо |
20.02.2017, 12:19 | #8 |
2 the Nation Glory
Старожил
Регистрация: 27.05.2014
Сообщений: 3,289
|
Может поможет слегка
http://excelvba.ru/programmes/Parser/samples/MyScore
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы. |
20.02.2017, 12:48 | #9 |
Пользователь
Регистрация: 12.02.2017
Сообщений: 87
|
Спасибо! Правда не особо помогло) Такой парсер у меня есть для проги скаченной с инета... а тут я свою как бы написал для личного пользования и пока обхожусь ручной вставкой.. еще не разбаготел на заказ парсера для нее ))
Зато нашел там ссылку на тот же сайт что и в примере у меня но с RU (http://www.myscore.ru) попробовал зайти - не получается.. про плату ничего.. а просто кидает на UA P.S. Ссылку сохранил может действительно прийду к этому решению.. Последний раз редактировалось СтаСС; 20.02.2017 в 12:59. |
20.02.2017, 16:14 | #10 |
Форумчанин
Регистрация: 29.08.2012
Сообщений: 209
|
Так кажется получилось
Код:
Алексей М.
Последний раз редактировалось AlexM12; 20.02.2017 в 16:47. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Хук для буфера обмена | PowerUSB | Microsoft Office Access | 7 | 20.02.2016 08:20 |
Перенос строк некоторых полей из одной таблицы в другую с помощью буфера обмена | Vongud | БД в Delphi | 6 | 28.04.2015 17:54 |
Нужен VDA макрос для выявления и удаления дублей строк в таблицах | nionen | Фриланс | 2 | 14.01.2014 19:30 |
макрос для удаления строк??? | mixa2997510 | Microsoft Office Excel | 3 | 21.05.2012 13:38 |
Макрос для удаления повторяющихся строк | Jelena_bsb | Microsoft Office Excel | 3 | 05.08.2010 13:34 |