Страницы: 1
RSS
Автоматизация: При открытии документа - найти и заменить символы в нескольких столбцах
 
в наличии импортированный файл с расширением SEARCH.csv (или  SEARCH.xlsx)
Задача:
- при открытии файла "найти/и/заменить" символы "," на "." в столбцах "С" и "Д"
То есть файл открылся и символы уже заменены.
Изменено: vlash72 - 05.02.2018 21:04:42
 
Запишите макрорекодером:
выделить столбец, вызвать окно инструмента замены (Ctrl+H), НАЙТИ/ЗАМЕНИТЬ.
Поищите на форуме событие открытия книги. Eсли не найдете, допишем к Вашему записанному макросу.
 
Цитата
vikttur написал:
инструмента замены (Ctrl+H), НАЙТИ/ЗАМЕНИТЬ
инструмент мне хорошо знаком, и часто его применяю
но вопрос в том, чтобы именно при открытии документа, именно в заданных столбцах заменить "запятые" на "точки"
(* Кажется: этот вопрос заинтересовал только меня)
Эта тема немного похожа, но там не подразумевается открытие документа, а только вытягивание текста...
Изменено: vlash72 - 05.02.2018 21:29:11
 
Цитата
vlash72 написал:
вопрос в том, чтобы именно при открытии документа
в xlsx так не получится, там макросов не бывает
 
то есть задача с автозаменой во время открытия документа  - не решается в Ексель?
 
Можно сделать специальный файл с макросом, из которого будет запускаться макрос для замены запятых в файле xlsx, но его для этого все равно нужно будет сначала открыть - либо этим же макросом, либо руками.
CTRL+H делает это все за одну секунду, непонятно - зачем лишние действия?
 
Не глянул, что менять не просто запятую... Запятую можно заменить в тексте, но Вам нужно менять разделитель числа!
Может, достаточно изменить системный разделитель?
 
vikttur, сначала текст и был, пока ТС файл не заменил, я тоже только что увидел. Вот начальный файл, достал из корзины:
 
Цитата
_Igor_61 написал:
пока ТС файл не заменил
это что значит? то, что в первом посте то и есть оригинал....
и что вы такое достали из корзины не понимаю
там просто текст в ячейках
сейчас текст с запятой, но когда меняю спомощью операции "замены" исмволы "запятой" на "точку" - получаю ЧИСЛО
поэтому операции замены символов достаточно)
Так это вощможно?
 
Да никто и не спорит, что там оригинал, просто сначала Вы другой файл выложили, не сам же я его нарисовал  :)
А насчет
Цитата
vlash72 написал:
Так это вощможно?
Что именно можно? Чтобы при открытии книги xlsx запустился макрос? тогда см.#6 и #7
 
Цитата
_Igor_61 написал:
Чтобы при открытии книги xlsx запустился макрос?
так. то есть выводы
1. операция ctrl+H лучший, но ручной способ
2. автоматически возможно но в случае, если перед открытием запустить макрос, запускающий макрос
3. просто достаточно изменить системный разделитель... это не понимаю, тоглда уже лучше вообще все в екселе делать руками, зачем кнопки и операции разные.
эти три варианта и есть решение лолучается? на выбор....
Изменено: vlash72 - 06.02.2018 00:34:39
 
Цитата
vlash72 написал: 2...перед открытием запустить макрос, запускающий макрос
Нет, не поняли.
В файле .xlsx нет макросов и быть не может, а тем более в .csv.
Макрос может находиться в другой книге (с  расширением .xlsm, .xlsb или .xls), .откуда откроет Ваш файл и произведет там изменения.
 
Цитата
vikttur написал:
расширением .xlsm, .xlsb или .xls
то есть получается - если я хочу автоматизироватьпроцесс после открытия то мне необходимы эти расширения? то есть просто импортировать документ не в формате  .xlsx или .csv, а те что вы указываете? и самый, как я понимаю удобный при любых раскладах - .xls
ОК, тогда вот:
 
испытательным путем дошел до того, что замена запятой на точку ни к чему не приводит.
способ подстановки не работает по следующим за ними формулам, потому как текст в ячейке остается
в итоге:
- необходима опция ctrl+H - она то как раз заменяя "," на "." на выходе дает и формат = число
Я так понимаю - остался единственный способ работать с таблицей - только в ручном режиме через вызов инструмента замены.
Не верится что в Екселе подобное не реализовано
Но судя по ответам получается что так.
 
У меня при открытии Вашего файла - точки, и воспринимаются как числа без всяких доп. действий. Непонятно что нужно? Может Вам просто необходимо настроить правильно распознавание десятичной части (запятая или точка), как в системе так и excel.
Изменено: skais675 - 06.02.2018 17:18:22
 
Цитата
vlash72 написал:
в наличии импортированный файл с расширением SEARCH.csv (или  SEARCH.xlsx)
Исходный файл - Search.csv. Это, действительно, csv-файл, разделителем полей является знак табуляции (X'09'). Правильное решение (для автоматизации) - настроить импорт текстового файла.
Владимир
 
Цитата
sokol92 написал:
настроить импорт текстового файла
как? варианты импорта не переводят текст в число
Изменено: vlash72 - 06.02.2018 19:30:15
 
См. вложенный файл. Правой кнопкой по ячейке A1: обновить. Укажите путь к Search.csv (тот же, что и в #1)
Владимир
 
спасибо
но что с этим делать дальше?
теперь каждый раз открывать этот док чтобы открыть другой через обновления?
Изменено: vlash72 - 07.02.2018 11:28:11
 
Среда Excel предоставляет различные методы для обработки csv-файлов  (в порядке возрастания функциональных возможностей):
  • открытие файла (метод Workbooks.Open)
  • импорт текста (описание Мастера импорта текста здесь)
  • Power Query
Используйте то средство, которое наиболее подходит для Вашей задачи.
Изменено: sokol92 - 07.02.2018 11:05:08
Владимир
Страницы: 1
Читают тему
Наверх