Vba BeforeRightClick仅作用于以前单击的单元格

Vba BeforeRightClick仅作用于以前单击的单元格,vba,userform,Vba,Userform,我对excel VBA非常陌生,我搜索过很多帖子和网站,但找不到原因 我的目标是: 在单元格上单击鼠标右键,将打开一个带有文本框的窗体,被单击单元格的地址将显示在文本框中 我试过一些非常标准的代码。。。像这样: Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) Cancel = True UserForm1.Show With UserForm1.Tex

我对excel VBA非常陌生,我搜索过很多帖子和网站,但找不到原因

我的目标是: 在单元格上单击鼠标右键,将打开一个带有文本框的窗体,被单击单元格的地址将显示在文本框中

我试过一些非常标准的代码。。。像这样:

    Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    Cancel = True
    UserForm1.Show
    With UserForm1.TextBox1
     .Text = Target.Address
    End With
    End Sub
下面是错误(我的测试结果的一步一步)

文本框始终显示先前右键单击的单元格的地址。我需要文本框来显示我刚才右键单击的内容的地址


请提供一些关于为什么会发生这种情况以及如何纠正这种情况的见解,谢谢大家

事件例程正常,
target
是您右键单击的单元格。但是,在将地址写入表单之前先显示表单,
.show
打开表单模式,这意味着您只有在关闭表单后才能继续编码。您只需还原以下内容:

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    Cancel = True
    With UserForm1
        .TextBox1.Text = Target.Address
        .Show
    End With
end Sub

标题显示双击之前。。。。
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
    Cancel = True
    With UserForm1
        .TextBox1.Text = Target.Address
        .Show
    End With
end Sub