Страницы: 1
RSS
Автозамена в определенной области
 
Доброго всем времени суток!
Подскажите пожалуйста, возможна ли автозамена только в определенных столбцах - руками долго их выделять, а при стандартной автозамене при вводе меняются также данные, которые не нужно менять.
 
Цитата
возможна ли автозамена только в определенных столбцах
Если вы пишите о Ctrl+H то да.
 
Сергей, выделите нужные столбцы и произведите замену по ним (Ctrl+H). В таком случае замена произойдёт только в выделенном диапазоне.
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Ctrl+Н это ручная замена, я спрашивал про автоматическую автозамену, но она работает во всей книге, а может и во всех книгах, тоже вопрос интересный. Именно при вводе нужно, но в определнных только областях.
 
Автозамена - это когда Excel САМ заменит "очепятка" на "опечатка"?
 
Именно так, или как пример вместо значения числа 3,14 написать пи, а ексель сам заменит на 3,14, но он тогда во всей книге это сделает, а мне нужно лишь в определенных областях. Наверно это нужно делать хитрым макросом. Гуру пока молчат.
Изменено: Сергей Беляев - 30.06.2015 23:01:14
 
Макросом это можно сделать, но потребуется составить таблицу для автозамены.
 
Таблицу то составить не проблема, проблема с макросом.
 
А у меня с таблицей проблема))
 
Рекодер включите и посмотрите.
Код
..
    Columns("D:D").Replace What:="пи", Replacement:="ку"
    Columns("A:A").Replace What:="май", Replacement:="куб"
..
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Помогите чуток, пожалуйста. Я пришел к тому, что  эти области будут каждым пятым столбцом и в них 14 надо менять на 14,85 и 12 на 12,61. То есть надо в ячейках, принадлежащих  столбцу с номером кратным 5, не пустых заменять 14 на 14,65 и 12, на 12,61.
 
Да покажите Вы уже небольшой пример с Вашими данными. Давно бы решение получили...
 
?
Код
For I = 5 To 100 Step 5
    With Columns(I)
        .Replace What:=14, Replacement:=14.85
        .Replace What:=12, Replacement:=12.61
    End With
Next
Согласие есть продукт при полном непротивлении сторон
 
Цитата
Юрий М написал:
Да покажите Вы уже небольшой пример с Вашими данными. Давно бы решение получили...
Я считаю некорректно давать пример уже с данными, потому что мне ведь надо, чтобы это происходило при вводе, хотя попробую.
 
И что же здесь некорректного? )) См. файл.
 
В модуль листа:
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count = 1 Then
        If Not Intersect(Target, Range("B4:B9, G4:G9")) Is Nothing Then
            Application.EnableEvents = False
            Select Case Target.Value
                Case 14
                    Target.Value = 14.85
                Case 12
                    Target.Value = 12.61
            End Select
            Application.EnableEvents = True
        End If
    End If
End Sub

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
Цитата
Юрий М написал:
И что же здесь некорректного? )) См. файл.
Спасибо, боялся, что недостаточно в файле передам необходимое, но думаю ваш опыт победил мою некомпетентность.
 
Таблицу соответствий можно или скрыть, или разместить на другом листе (в этом случае придётся немного изменить макрос). Работать будет на 1000 строк (можно увеличить).
 
Я уже смотрел текст макроса. Я так понял, что обращение к таблице замены происходит по номеру столбца. Напишите, пожалуйста, адрес столбца на другом листе.
 
Вот )
Страницы: 1
Читают тему
Наверх