Stworzyłem swój pierwszy niemodalny UserForm
w Excelu i umieściłem na nim etykietę ActiveX. Jak ustawić podpis etykiety tak, aby wyświetlał to, co znajduje się w Sheet1.Range("A1")
, i aktualizował się, gdy zmieni się wartość w komórce A1?
Zasadniczo chcę, aby etykieta Userform's
była zawsze aktualizowana przy drugiej zmianie w komórce Excela. Dziękuję Ci!
2 odpowiedzi
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Cells(1, 1), Target) Is Nothing Then
Exit Sub
End If
UserForm1.Label1.Caption = Sheet1.Range("A1").Value
End Sub
Sub Change
jest wywoływany za każdym razem, gdy zmienia się komórka. Kod robi to: jeśli A1
został zmieniony, zmień podpis Label1
na UserForm1
. Formularz musi być otwarty niemodalnie (vbModeless
).
UserForm1.Show vbModeless
To działało dla mnie.
Sheets("Sheet").Shapes("TheNameOfTheLabel").TextFrame.Characters.Text = "Hello"
Podobne pytania
Nowe pytania
excel
Tylko w przypadku pytań dotyczących programowania w odniesieniu do obiektów lub plików programu Excel albo tworzenia złożonych formuł. Możesz połączyć tag Excela z VBA, VSTO, C #, VB.NET, PowerShell, automatyzacją OLE i innymi znacznikami i pytaniami związanymi z programowaniem, jeśli dotyczy. Ogólna pomoc dotycząca MS Excel dla funkcji pojedynczego arkusza jest dostępna w Super User.