|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.02.2013, 00:41 | #1 |
Новичок
Джуниор
Регистрация: 03.02.2013
Сообщений: 2
|
Макрос в Excel для преобразования и переноса таблицы из MS Word
Добрый день.
Не так давно столкнулась с такой задачей. По работе необходимо перенести большой документ (~100 страниц) с таблицами и текстом из Word в Excel. Все бы ничего, это можно сделать и вручную, но есть три проблемы. 1. Между таблицами в Word находится поясняющий текст, который переносить не нужно. Кроме того, в шапке каждой таблицы находится один и тот же текст, который повторять не требуется. 2. Числа в последнем столбце записаны в формате xx xxx.xx и при переносе в Excel, естественно, не воспринимаются как числа. Каждое такое число нужно привести к виду xxxxx,xx, то есть убрать все пробелы и заменить все десятичные разделители - точки на запятые. 3. Таблицы состоят из четырех столбцов, третий столбец переносить не нужно - его нужно удалить либо сразу, либо после переноса в Excel. Поскольку с макросами имею дело нечасто, попробовала вначале автоматизировать хотя бы часть задачи - изменение чисел в последнем столбце таблицы. Получился такой макрос: Код:
В приложении находятся пример документа Word и документ Excel, который нужно из него получить. Отформатированы таблицы могут быть по-разному, это не имеет особого значения, но в документе в каждой таблице по 50-100 строк. |
04.02.2013, 03:54 | #2 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,856
|
Цитата:
И всё будет работать. А в вашем примере используется не переменная, а ссылка на объект. Причем вы ошиблись в использовании свойств: вместо Код:
Код:
(поэтому переношу тему из раздела Excel в раздел Word) |
|
04.02.2013, 03:58 | #3 |
Старожил
Регистрация: 02.05.2009
Сообщений: 3,907
|
И у меня получилось 24 строки кода.
Анализ,обработка данных Недорого
Последний раз редактировалось doober; 04.02.2013 в 04:00. |
04.02.2013, 08:36 | #4 |
Участник клуба
Регистрация: 12.08.2010
Сообщений: 1,079
|
ТАК КАК В ВОРДЕ ЕСТЬ
-ПРОБЕЛ -НЕРАЗРЫВНЫЙ ПРОБЕЛ ОБРАБОТКА НЕСКОЛЬКО ДЛИННЕЕ 24 СТРОК Код:
Имя-Галина== почта shanemac51@yandex.ru скайп shanemac51 c 8-15мск будни
Сфера интересов--word-excel-access-распознавание |
04.02.2013, 17:47 | #5 |
Новичок
Джуниор
Регистрация: 03.02.2013
Сообщений: 2
|
Почти то, что нужно, если не учитывать различие между пробелом и разрывным пробелом. В данном случае получилось следующее:
В том документе почти все числа записаны с использованием неразрывного пробела (кроме одной таблицы в начале). Так что, похоже, для этой конкретной задачи можно заменить пробелы в ней вручную, тогда в коде достаточно будет в строчке Код:
При запуске макроса, отредактированного shanemac51 выходит ошибка: Происходит это из-за некорректной обработки чисел - почему-то не убираются пробел и десятичная точка (ccur не может преобразовать в число): Надо бы подучить VBA, вроде бы простейшая задача, а столько времени тратится на ее решение. Спасибо всем за помощь, сама я бы с этой задачей не справилась. Только что заметила: достаточно заменить 18 строчку на .Cells(ct, 3) = Val(Replace(T.Rows(i).Cells(4), Chr(160), "")) и макрос корректно обрабатывает и обычные пробелы. Интересно, почему так получается. Последний раз редактировалось Natasha_i; 04.02.2013 в 17:53. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Макрос для преобразования таблицы данных на другом листе | Stranger9 | Microsoft Office Excel | 1 | 29.04.2012 11:15 |
макрос для слияния из excel в word | coriace | Microsoft Office Excel | 3 | 20.04.2012 00:12 |
Макрос для переноса данных в виде таблицы из Excel в Word | Jevgeni85 | Microsoft Office Excel | 2 | 25.08.2010 16:52 |
Нужна программа или макрос для печати шаблонов word с данными взятыми из таблицы EXCEL | dimatz | Microsoft Office Excel | 3 | 05.03.2010 12:17 |
Нужна помощь в написании ряда цифр для последующего переноса в Word.Excel | andrius34 | Помощь студентам | 4 | 13.11.2009 16:50 |