单击按钮时我会在哪里放置代码?

时间:2013-05-20 07:28:44

标签: excel-vba vba excel

我已经创建了一个宏来激活工作表时创建一个按钮。然后我使用下面的代码调用它:但每次我去不同的工作表然后再回到包含此按钮的工作表,宏完成它的工作。我只是想在我点击按钮时使用宏

Private Sub Worksheet_Activate()
    Call sortData
End Sub

这是我创建的宏的代码:

 Sub sortData()
'
'     
'

'

    ActiveSheet.Buttons.Add(689.25, 59.25, 133.5, 30).Select
    Selection.OnAction = "sortData"
    Selection.Characters.Text = "Sort Data"
    With Selection.Characters(Start:=1, Length:=28).Font
        .Name = "Times New Roman"
        .FontStyle = "Bold"
        .Size = 12
    End With
    Range("A1").Select


End Sub

现在我的问题是,当点击此按钮时,我将把下面显示的代码放在哪里?或者我怎么才能使这个按钮工作?我试着将代码放在我称之为宏的同一张表中,但它不起作用。

Sub sortData_Click() 'did i call the button right? but it is not working when i us it
'codes here
End Sub

1 个答案:

答案 0 :(得分:0)

<>在VBA编辑器中,单击“插入新模块”(或者您可以将其放在sortData所在的同一模块中),然后将此代码写入新模块:

Sub procedureName() 'procedure name is exactly the same as what you named in Selection.OnAction = "sortData"

'codes here
End Sub

您实际完成的是调用sortData()调用本身,因为您已设置Selection.OnAction =“sortData” - &gt;&gt;&gt;将此名称更改为您要执行的任何过程名称