powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA, изменение ячейки
7 сообщений из 7, страница 1 из 1
VBA, изменение ячейки
    #36158234
Beginner111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго!
Проблема в следующем:
Код: plaintext
1.
2.
3.
4.
5.
Private Sub Worksheet_Change(ByVal Target As Range)
If (Target.Address = "$A$1") Then
   что-то делает
End If
End Sub
Условие срабатывает только если пользователь меняет значение в ячейки, а мне, также нужно поймать изменение, происходящие по изменению других связанных ячеек. Т.е. в ячейке А1 формула, где значение вычисляется от значений других ячеек.
Спасибо!
...
Рейтинг: 0 / 0
VBA, изменение ячейки
    #36158459
Фотография qwrqwr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
'вариант №1
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not (Intersect(Target, Union(Me.Range("A1"), Me.Range("A1").Precedents)) Is Nothing) Then
        MsgBox "A1 изменилось"
    End If
End Sub
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
'вариант №2
Private Sub Worksheet_Calculate()
Static v As Variant
    If Me.Range("A1").Value <> v Then
        MsgBox "A1 изменилось"
        v = Me.Range("A1").Value
    End If
End Sub
...
Рейтинг: 0 / 0
VBA, изменение ячейки
    #36158619
Beginner111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, второй вариант работает!
...
Рейтинг: 0 / 0
VBA, изменение ячейки
    #36158630
Beginner111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Параллельно возник еще один вопрос :)
Есть 2 модуля:
1-й пользовательский (Modules)
2-й Excel Objects

Как объявить глобальную переменную в 1-м модуле, чтоб во втором был к ней доступ.
Спасибо!
...
Рейтинг: 0 / 0
VBA, изменение ячейки
    #36158675
qwrqwr_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Beginner111Спасибо, второй вариант работает!по-моему, должны работать оба
Beginner111Есть 2 модуля:
Как объявить глобальную переменную в 1-м модуле, чтоб во втором был к ней доступ.как обычно - Public переменная As её_тип
...
Рейтинг: 0 / 0
VBA, изменение ячейки
    #36158777
Beginner111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
qwrqwr_Beginner111Спасибо, второй вариант работает!по-моему, должны работать оба

На первый вариант выдаёт ошибку - Не найдено ни одной ячейки, удовлетворяющей указанным условиям.
qwrqwr_
Beginner111Есть 2 модуля:
Как объявить глобальную переменную в 1-м модуле, чтоб во втором был к ней доступ.как обычно - Public переменная As её_тип
Спасибо! Слона то я и не приметил.
...
Рейтинг: 0 / 0
VBA, изменение ячейки
    #36168512
Krasnaja Shapka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Beginner111На первый вариант выдаёт ошибку - Не найдено ни одной ячейки, удовлетворяющей указанным условиям.это не ошибка, это фича :), означает, что когда вы тестили код у вас в ячейке не было формулы с зависимостью от других ячеек
надо добавить в начало процедуры
Код: plaintext
Application.DisplayAlerts = False
и
Код: plaintext
Application.DisplayAlerts = True
в конец
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / VBA, изменение ячейки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]