Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » Разное - Выполнение макроса после изменения ячейки

Ответить
Настройки темы
Разное - Выполнение макроса после изменения ячейки

Новый участник


Сообщения: 31
Благодарности: 0

Профиль | Отправить PM | Цитировать


Привет всем!

У меня есть макрос, который следит за указанным диапазоном и меняет текст на ссылку:
Код: Выделить весь код
Private Sub CreateHypelinkInTextCell()
    Dim iCell As Range, iText$
    For Each iCell In [A2:A666]
        iText = iCell.Text
        If iText <> "" Then iCell.Hyperlinks.Add iCell, ("https://test.ru/issues/" & iText)
    Next
End Sub
Я хотел сделать запуск после изменения ячейки с помощью другой функции:
Код: Выделить весь код
Private Sub Worksheet_Change(ByVal Target As Range)
 If Not Intersect(Target, Range("A1:A666")) Is Nothing Then
   If Target <> 0 Then
     Call CreateHypelinkInTextCell
   End If
 End If
End Sub
Но в моем коде уже используется эта функция при добавлении комментариев в другой диапазон ячеек, из-за чего я получаю ошибку: ambiguous name detected Worksheet_Change
Код: Выделить весь код
Private Sub Worksheet_Change(ByVal Target As Range)
Dim NewCellValue$, OldComment$
Dim cell As Range
    'если ячейка не в отслеживаемом диапазоне, то выходим
    If Intersect(Target, Range("C2:C666")) Is Nothing Then Exit Sub
    'перебираем все ячейки в измененной области
    For Each cell In Intersect(Target, Range("C2:C666"))
        If IsEmpty(cell) Then
            NewCellValue = "Ячейка очищена" 'фиксируем очистку ячейки
        Else
            NewCellValue = cell.Formula     'или ее содержимое
        End If
        On Error Resume Next
        With cell
            OldComment = .Comment.Text & Chr(10)
            .Comment.Delete     'удаляем старое примечание (если было)
            .AddComment         'добавляем новое и вводим в него текст
            .Comment.Text Text:=OldComment & Application.UserName & " " & _
                            Format(Now, "MM.DD.YY h:MM:ss") & ": " & NewCellValue
            .Comment.Shape.TextFrame.AutoSize = True    'делаем автоподбор размера
            .Comment.Shape.TextFrame.Characters.Font.Size = 8
        End With
    Next cell
End Sub
Можете пожалуйста показать как решить эту проблему.

Отправлено: 10:31, 07-09-2020

 

Новый участник


Сообщения: 31
Благодарности: 0

Профиль | Отправить PM | Цитировать


Iska, это в дебагере я видел, понимаю почему происходить, но из-за не знания языка не могу исправить. + ниже тоже идет Target, который начнет ругаться:
'если ячейка не в отслеживаемом диапазоне, то выходим
If Intersect(Target, Range("C2:C666")) Is Nothing Then Exit Sub

Отправлено: 22:44, 15-09-2020 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


pedrosoft, чтобы что-то подсказать, надо понимать, какую задачу Вы решаете данным кодом.

Отправлено: 18:27, 17-09-2020 | #12



Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » Разное - Выполнение макроса после изменения ячейки

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2013 - [решено] Нумерация ячейки в зависимости от другой ячейки subuday77 Microsoft Office (Word, Excel, Outlook и т.д.) 5 19-02-2018 16:56
2013 - Ссылка на ячейки другого листа, с возможностью изменения порядка ячеек btescm Microsoft Office (Word, Excel, Outlook и т.д.) 5 04-09-2014 23:16
2010 - [решено] Выполнение макроса при фильтре Invincible Microsoft Office (Word, Excel, Outlook и т.д.) 2 10-09-2013 21:32
Выполнение макроса по звуковому сигналу. bongubong Хочу все знать 3 01-06-2012 08:49
2003/XP/2000 - [решено] Excel | Отмена изменений после макроса AlexM Microsoft Office (Word, Excel, Outlook и т.д.) 3 07-02-2010 03:19




 
Переход