Страницы: 1
RSS
Макрос для замены данных в активной ячейки
 
Добрый день, помогите доработать макрос. Выдает ошибку, в чем проблема не могу понять.
Изменено: Sanja - 24.03.2026 23:53:32
 
Добрый вечер. Есть одна ошибка - два макроса с одинаковыми именами. Если нужны оба, то нужно их объединить.
 
А как это сделать, можете помочь.
И если можно покажите проблему.
 
Цитата
написал:
покажите проблему
Проблему я вам объяснил, макрос с таким именем в этом модуле может быть только один. Можно просто собрать эти два макроса в один. Правда я не вижу смысла использовать цикл For Each, Этот макрос будет срабатывать при каждом изменении значения в любой ячейке листа (на изменение значений формулами не срабатывает, только на изменение вручную или макросом). Да и менять режим EnableEvents тоже не нужно, макрос не изменяет значения в контролируемых диапазонах. Попробуйте такой вариант.
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
       If Not Intersect(Target, Range("A2:A100")) Is Nothing Then
             With Target.Offset(0, 1)
               .Value = Now
               .EntireColumn.AutoFit
            End With
       ElseIf Not Intersect(Target, Range("K1:K100")) Is Nothing Then
            If IsEmpty(Target) Or Target = "привет" Then
              Target.Offset(0, 1).ClearContents
            Else
              Target.Offset(0, 1) = Date
            End If
       End If
End Sub
 
Здравствуйте.
Проблема в том, что (как выше писал Старичок) у Вас два макроса с одним и тем же именем:
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Чтобы убедиться нажмите Alt+F11 в инспекторе объектов (окошечко cлева) выберите ветку "Sheet1" и сами все увидите.
На всякий случай я объединил оба макроса в один (второй закомментировал).

PS. Пока писал ответ, Старичок ответил.
Изменено: Aлeкceй - 24.03.2026 21:35:41 (Опоздал с ответом.)
 
Добрый день, помогите с решением.
Сейчас макрос меняет автоматически в столбце "А" знак "+" на "проверено - 31.03.2026"
Пытаюсь, чтобы в столбце "В" знак "+" менял на "зачищено-31.03.2026"

Дату чтобы брал текущию в момент ввода.
 
Порадовало  :D
Код
Private Sub Worksheet_Yuri(ByVal Target As Range)

Обработка событийв Excel

Скрытый текст
Согласие есть продукт при полном непротивлении сторон
 
Добрый день подскажите.
Поменял столбцы в коде и макрос перестал корректно работать.

If Intersect(Union(Columns("H"), Columns("G")), Target) Is Nothing Or Target.Count <> 1 Then Exit Sub

Пишет везде с столбце

зачищено - 31.03.2026

Как исправить, чтобы писало в одной

Сейчас макрос меняет автоматически в столбце "H" знак "+" на "проверено - 31.03.2026"
Пытаюсь, чтобы в столбце "G" знак "+" менял на "зачищено-31.03.2026"
 
Цитата
YuriBarvi1983 написал: Как исправить, чтобы писало в одной
Вам нужно что-бы менялись данные в одной ячейке? Или в конкретном диапазоне? Или что Вам нужно?
Может угадал? См. комментарии в коде
Скрытый текст
Согласие есть продукт при полном непротивлении сторон
 
В конкретном диапазоне.
Конкретный текст.
 
Пример.

в столбце "H1:H10000" знак "+" на "проверено - 31.03.2026"

в столбце "G1:G10000" знак "+" менял на "зачищено-31.03.2026"
 
Тогда так
Код
If Intersect(Union([G1:G10000], [H1:H10000]), Target) Is Nothing Or Target.Count <> 1 Then Exit Sub

остальное - без изменений (макрос из сообщения #9)
Согласие есть продукт при полном непротивлении сторон
 
Добрый день, помогите допилить макрос.
удалено, вопрос не относится к теме топика
Изменено: Sanja - 03.04.2026 03:05:03
 
Как перенос данных с листа на лист соответствует теме топика о замене значений в ячейках?
МатросНаЗебре - замечание за помощь в вопросе с нарушением Правил форума
YuriBarvi1983, для Вас - ознакомьтесь с Правилами
Цитата
2.6. Один вопрос - одна тема. Не следует в открываемой теме обозначать и задавать сразу несколько вопросов.
Согласие есть продукт при полном непротивлении сторон
 
Ничего не оспаривая, всё-таки замечание к Матросу может вызвать сомнения, ведь совершенно непонятно и не разъяснено, какой из пунктов Правил он нарушил.
 
Цитата
написал:
МатросНаЗебре  - замечание за помощь в вопросе с нарушением
Справедливо. Впредь обещаю )
Страницы: 1
Читают тему
Наверх