Проблема с обновлением значения подписей в метках пользовательской формы при изменении в листе - PullRequest
1 голос
/ 11 июля 2019

Я создал пользовательскую форму, которая имеет ряд условных настроек, которые должны применяться.У меня есть x количество меток, все ссылки на заданные значения ячеек в листе 2.

У меня все работает правильно, однако мне нужно перезапустить UserForm, чтобы применить изменения к значениям меток.Теперь я использую

Me.Repaint

в конце кода пользовательской формы.

Я добавил следующий код в VBA mODULE "ThisWorkbook":

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

    Dim ws2 As Worksheet
    Set ws2 = ThisWorkbook.Sheets("ws2")

    If Target.Address(False, False) = ws2.Cells("C8").Value Then
        MsgBox "Value Changed!"
    End If

End Sub

Однако я не могу заставить это работать.Я могу заставить его работать, ссылаясь только на одну ячейку в первом листе:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

    If Target.Address(False, False) = "A2" Then
        MsgBox "Value Changed!"
            'repaint userform!
    End If
End Sub

Я бы, конечно, заменил окно сообщения на Me.Repaint или что-то подобное, чтобы перекрасить мою форму, если какое-либо значение изменится.

Есть ли здесь гуру, который мог бы помочь мне решить эту проблему?Я хочу, чтобы значения заголовка моей пользовательской формы обновлялись, если значение ячейки C8 в ws2 изменяется.

1 Ответ

0 голосов
/ 12 июля 2019

Код ниже был результатом отладки и ответил на мой вопрос. Спасибо @Dean за помощь.

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

    If Sh.Name = "ws2" Then
        If Target.Address(False, False) = "C8" Then

            MsgBox "Value Changed!"

        End If
    End If
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...