|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.01.2018, 11:53 | #1 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
"Переносной" макрос
Здравствуйте.
У меня есть куча файлов Excel, разных форматов (xls/x, csv), и есть десяток операций, которые нужно проводить над всей информацией каждого файла. Файлы каждый день приходят новые. Насколько я понял, макрос привязывается к конкретному файлу, и таким образом упрощая выполнение операций над данными, я получаю ежедневную привязку макроса ко всем файлам; другими словам - меняю шило на мыло. Мне нужно автоматизировать поиск/замену символов; это прайс-листы, и у них всех постоянно встречаются служебные символы, которые мешают при выгрузке в базу данных. Что вы можете посоветовать ?
Подпись ? Не, не слышал ...
|
27.01.2018, 12:07 | #2 | |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
Цитата:
т.е. как написали - так и работает. я советую написать универсальный макрос а точнее несколько: 1. макрос обработки файла 2. макрос, который будет находить нужные файлы и по очереди передавать их первому макросу для обработки.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
|
27.01.2018, 12:30 | #3 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
IgorGO, хорошо ...
Но у меня следующая проблема: я с vba-excel сталкиваюсь впервые, и пытаюсь разобраться - как выполнить обход по всем ячейкам ? Мне нужно во всех ячейках выполнить замену символов, И есть одно важное замечание: я реализовал алгоритм на C++ с использованием необходимой библиотеки - там всё выполняется очень медленно. Стандартная же функция замены работает достаточно быстро. Мне не нужны усложнения, так что можно считать, что у меня один лист в каждом файле. Что мне делать ? В гугле вроде не забанен, но нужное найти не могу (не знаю что и как искать)
Подпись ? Не, не слышал ...
|
27.01.2018, 13:03 | #4 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Есть же возможность зафиксировать все действия пользователя в макросе. Ну и на основании полученного своё произведение сделать ))
http://exceltip.ru/%D0%BA%D0%B0%D0%B...F%D0%B8%D1%81/
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
27.01.2018, 13:19 | #5 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
Пасиба (оставить отзыв не получилось)
Подпись ? Не, не слышал ...
|
27.01.2018, 13:41 | #6 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
Опять проблема (как же без них, да ещё и со мной) ...
Есть следующее условие Код:
На условие в текущем его виде ругается, мол "Invalid use of object". Я пошёл в гугл, нашёл - это (функция поиска, возвращает объект Range/Nothing), - и это (числовое/строковое сравнение Nothing). Исходя из полученной информации я понял, что я пытаюсь сравнивать объекты (не компилируется), а когда пытаюсь сравнить с нулём или пустой строкой - выпадает Runtime error. Как мне быть ? UPD: разобрался, вместо <> нужно юзнуть Is.
Подпись ? Не, не слышал ...
Последний раз редактировалось OmegaBerkut; 27.01.2018 в 13:47. |
27.01.2018, 14:08 | #7 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
с проверкой на Nothing в VBA так:
if not Selection.Find(" ") is Nothing then ' значит что-то нашлось
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Убрать папки "Pictures", "Music", "Видео", "Downloads" из "МОЙ КОМПЬЮТЕР" | Бахтиёр1916 | Windows | 1 | 05.04.2017 12:53 |
Нужно пояснить/прокомментировать код программы, или коды функций "Добавить" "Удалить" "Обновить(редактировать" "Поиск" "Период") | ZIRASS | PHP | 4 | 15.06.2016 14:23 |
Для заданной строки определить все входящие в неё символ. Например: строка "abccbbabbac" состоит из символов "a", "b" и "c" | Sandakan01 | Помощь студентам | 1 | 24.02.2016 03:20 |