Здравствуйте. Кто нибудь может подсказать решение моей задачи.
Мне надо в моем файле при вводе данных в столбец "данные" эти данные автоматически подставлялись при помощи функции поиск-замена в нужную часть текста. В файле примере я ввел имя "Олег". Надо что бы имя Олег вставилось везде вместо тега "NAME"
Здравствуйте. Кто нибудь может подсказать решение моей задачи.
Мне надо в моем файле при вводе данных в столбец "данные" эти данные автоматически подставлялись при помощи функции поиск-замена в нужную часть текста. В файле примере я ввел имя "Олег". Надо что бы имя Олег вставилось везде вместо тега "NAME"II4eJI
А можно без этих понтов?? Что тут в инете один форум такой? Я стараюсь как могу делать нормально все, не такие уж тут и нарушения как вы себе возомнили. Муху и слона не путайте.
А можно без этих понтов?? Что тут в инете один форум такой? Я стараюсь как могу делать нормально все, не такие уж тут и нарушения как вы себе возомнили. Муху и слона не путайте.II4eJI
Спасибо, ваш вариант тоже работает, можете рассказать подробней как вы это сделали?
Да и еще, после подстановки имени вместо ключевых слов ( в нашем случае "NAME" ) как можно сделать отмену? Просто иногда приходится подставлять по несколько разных имен. Это каждый раз после такой замены надо закрывать файл без сохранения? Или есть еще какие то варианты? Просто ctrl+z не схватывает, и отмены действия не происходит.
Спасибо, ваш вариант тоже работает, можете рассказать подробней как вы это сделали?
Да и еще, после подстановки имени вместо ключевых слов ( в нашем случае "NAME" ) как можно сделать отмену? Просто иногда приходится подставлять по несколько разных имен. Это каждый раз после такой замены надо закрывать файл без сохранения? Или есть еще какие то варианты? Просто ctrl+z не схватывает, и отмены действия не происходит.II4eJI
Сообщение отредактировал II4eJI - Пятница, 09.01.2015, 17:21
Правой Кнопкой Мышки (ПКМ) по ярлычку листа -- Исходный текст, там макрос выполняющий это. Да после выполнения макроса возврат к первоначальному состоянию не происходит. Можно что нибудь придумать, например при закрытии файла возвращать NAME на свои места.
Правой Кнопкой Мышки (ПКМ) по ярлычку листа -- Исходный текст, там макрос выполняющий это. Да после выполнения макроса возврат к первоначальному состоянию не происходит. Можно что нибудь придумать, например при закрытии файла возвращать NAME на свои места.gling
ЯД-41001506838083
Сообщение отредактировал gling - Пятница, 09.01.2015, 17:32
Что то более менее понятно, а как можно доработать данный код ? [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub If Not Intersect(Target, Range("G2")) Is Nothing Then Cells.Replace What:="###NAME###", Replacement:=Target.Value End If End Sub
[/vba]
Вот что мы имеем. Я хочу сюда добавить например еще данные ячеек поиск по которым нужно делать и добавить еще ключевые слова поиск по которым будет происходить замена. Я открывал просто панель Visual Basic и там пытался добавить данный код с измененными данными. Например вот так:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub If Not Intersect(Target, Range("G2")) Is Nothing Then Cells.Replace What:="###NAME###", Replacement:=Target.Value End If End Sub
[/vba] [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub If Not Intersect(Target, Range("G3")) Is Nothing Then Cells.Replace What:="###FAM###", Replacement:=Target.Value End If End Sub
[/vba] Таким образом я хотел что бы поиск происходил по ячейке G3 и заменял не ###NAME### а ###FAM###.... но почему то у меня не получилось , выдает непонятную мне ошибку.
Заранее спасибо.
Что то более менее понятно, а как можно доработать данный код ? [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub If Not Intersect(Target, Range("G2")) Is Nothing Then Cells.Replace What:="###NAME###", Replacement:=Target.Value End If End Sub
[/vba]
Вот что мы имеем. Я хочу сюда добавить например еще данные ячеек поиск по которым нужно делать и добавить еще ключевые слова поиск по которым будет происходить замена. Я открывал просто панель Visual Basic и там пытался добавить данный код с измененными данными. Например вот так:
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub If Not Intersect(Target, Range("G2")) Is Nothing Then Cells.Replace What:="###NAME###", Replacement:=Target.Value End If End Sub
[/vba] [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub If Not Intersect(Target, Range("G3")) Is Nothing Then Cells.Replace What:="###FAM###", Replacement:=Target.Value End If End Sub
[/vba] Таким образом я хотел что бы поиск происходил по ячейке G3 и заменял не ###NAME### а ###FAM###.... но почему то у меня не получилось , выдает непонятную мне ошибку.
Да все верно. А можно добавить какую нибудь кнопку для начала выполнения макроса, что бы он не по очереди выполнялся как только я забью данные в определенную ячейку, а после нажатия какой нибудь кнопки типа "заменить" .
Да все верно. А можно добавить какую нибудь кнопку для начала выполнения макроса, что бы он не по очереди выполнялся как только я забью данные в определенную ячейку, а после нажатия какой нибудь кнопки типа "заменить" .II4eJI
Здравствуйте Serge_007. Наверно все таки при создании кнопки произошел какой то сбой. У меня тоже кнопка не работала. Удалил и сделал свою, все работает. Обновления на Offis не ставил. Наверное не до конца у Вас вылечился комп.
Здравствуйте Serge_007. Наверно все таки при создании кнопки произошел какой то сбой. У меня тоже кнопка не работала. Удалил и сделал свою, все работает. Обновления на Offis не ставил. Наверное не до конца у Вас вылечился комп.gling