web-dev-qa-db-ja.com

Excelユーザーフォームで、ラベルのキャプションを更新するにはどうすればよいですか?

最初のモードレスUserFormをExcelで作成し、ActiveXラベルを貼りました。ラベルのキャプションを設定して、Sheet1.Range("A1")にあるものをすべて表示し、セルA1の値が変更されたときにそれ自体を更新するにはどうすればよいですか?

基本的にはUserform's Excelセル内の2番目に常に更新されるラベル。ありがとうございました!

5
phan
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

サブChangeは、セルが変更されるたびに呼び出されます。コードはこれを行います。A1が変更された場合は、Label1UserForm1のキャプションを変更します。フォームはモーダルではなく開かれている必要があります(vbModeless)。

UserForm1.Show vbModeless
5
Jacob

これは私のために働いた。

Sheets("Sheet").Shapes("TheNameOfTheLabel").TextFrame.Characters.Text = "Hello"
1
moberme