Домашняя страница Undo Do Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/замена текста в соседней ячейке вордовского документа - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
замена текста в соседней ячейке вордовского документа
SergeyKorotun Дата: Пятница, 06.06.2014, 13:32 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 301
Репутация: 15 ±
Замечаний: 0% ±

Excel 2007
В вордовском документе есть много таблиц. Нужно найти искомый текст в одной ячейке, а заменить текст из соседней ячейки. Макрорекордером записал макрос. Заключил его в цикл
While Selection.Find.Execute = True
...
Wend
Но поскольку меняется не искомое значение, а текст в соседней ячейке, то цикл будет бесконечным. Если принудительно остановить цикл, то значения изменены.
Как при достижении конца файла программно остановить макрос?
Здесь http://www.cyberforum.ru/ms-word/thread1201012.html пока не ответили.
 
Ответить
СообщениеВ вордовском документе есть много таблиц. Нужно найти искомый текст в одной ячейке, а заменить текст из соседней ячейки. Макрорекордером записал макрос. Заключил его в цикл
While Selection.Find.Execute = True
...
Wend
Но поскольку меняется не искомое значение, а текст в соседней ячейке, то цикл будет бесконечным. Если принудительно остановить цикл, то значения изменены.
Как при достижении конца файла программно остановить макрос?
Здесь http://www.cyberforum.ru/ms-word/thread1201012.html пока не ответили.

Автор - SergeyKorotun
Дата добавления - 06.06.2014 в 13:32
_Boroda_ Дата: Пятница, 06.06.2014, 13:53 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16745
Репутация: 6534 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
А если просто вначале написать
[vba]
Код
Application.EnableEvents = 0
[/vba]
а в окончании
[vba]
Код
Application.EnableEvents = 1
[/vba]
 
Ответить
СообщениеА если просто вначале написать
[vba]
Код
Application.EnableEvents = 0
[/vba]
а в окончании
[vba]
Код
Application.EnableEvents = 1
[/vba]

Автор - _Boroda_
Дата добавления - 06.06.2014 в 13:53
SergeyKorotun Дата: Пятница, 06.06.2014, 15:12 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 301
Репутация: 15 ±
Замечаний: 0% ±

Excel 2007
_Boroda_, а в начале/конце - это где?
[vba]
Код
Sub Макрос1()
     Application.ScreenUpdating = False
     Selection.HomeKey Unit:=wdStory
     Selection.Find.ClearFormatting
     Selection.Find.Font.Bold = True
     While Selection.Find.Execute = True
         With Selection.Find
             .Text = "Керівник (заступник керівника)"
             .Replacement.Text = ""
             .Forward = True
             .Wrap = wdFindContinue
             .Format = True
             .MatchCase = False
             .MatchWholeWord = False
             .MatchWildcards = False
             .MatchSoundsLike = False
             .MatchAllWordForms = False
         End With
         Selection.Find.Execute
         Selection.MoveDown Unit:=wdLine, Count:=1
         Selection.MoveRight Unit:=wdCharacter, Count:=2
         Selection.MoveRight Unit:=wdCell
         Application.Keyboard (1049)
         Application.Keyboard (1058)
         Selection.TypeText Text:="Дудко Л.І."
     Wend
     Application.ScreenUpdating = True
End Sub
[/vba]
 
Ответить
Сообщение_Boroda_, а в начале/конце - это где?
[vba]
Код
Sub Макрос1()
     Application.ScreenUpdating = False
     Selection.HomeKey Unit:=wdStory
     Selection.Find.ClearFormatting
     Selection.Find.Font.Bold = True
     While Selection.Find.Execute = True
         With Selection.Find
             .Text = "Керівник (заступник керівника)"
             .Replacement.Text = ""
             .Forward = True
             .Wrap = wdFindContinue
             .Format = True
             .MatchCase = False
             .MatchWholeWord = False
             .MatchWildcards = False
             .MatchSoundsLike = False
             .MatchAllWordForms = False
         End With
         Selection.Find.Execute
         Selection.MoveDown Unit:=wdLine, Count:=1
         Selection.MoveRight Unit:=wdCharacter, Count:=2
         Selection.MoveRight Unit:=wdCell
         Application.Keyboard (1049)
         Application.Keyboard (1058)
         Selection.TypeText Text:="Дудко Л.І."
     Wend
     Application.ScreenUpdating = True
End Sub
[/vba]

Автор - SergeyKorotun
Дата добавления - 06.06.2014 в 15:12
SergeyKorotun Дата: Пятница, 06.06.2014, 16:08 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 301
Репутация: 15 ±
Замечаний: 0% ±

Excel 2007
Я ищу в тексте "Керівник", перехожу в соседнюю ячейку и заменяю ее значение на "Дудко Л.І."
И так надо выполнять, пока не будет достигнут конец файла. Но поиск в ворде устроен так, что при достижении конца файла он не завершается, а начинается поиск сначала файла. А поскольку "Керівник" не заменялся, он будет находить его вечно.
 
Ответить
СообщениеЯ ищу в тексте "Керівник", перехожу в соседнюю ячейку и заменяю ее значение на "Дудко Л.І."
И так надо выполнять, пока не будет достигнут конец файла. Но поиск в ворде устроен так, что при достижении конца файла он не завершается, а начинается поиск сначала файла. А поскольку "Керівник" не заменялся, он будет находить его вечно.

Автор - SergeyKorotun
Дата добавления - 06.06.2014 в 16:08
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!