ボタンを作成する

ボタンを配置する位置が予め決まっていない場合には VBA でボタンを作成する必要があります

配置したボタンを後で使用するような場合には 下のように作成したボタンをオブジェクト変数に格納すると便利です
Dim o_btn As Button
Set o_btn = Worksheets(1).Buttons.Add( …

ボタンをクリックした際に押されたボタンの情報を取得するために Name プロパティを設定しておきます
押されたボタンから行や列を特定できるようにしておくのもポイントです

With Worksheets(1).Buttons.Add(Worksheets(1).Cells(1, 1).Left, _
                               Worksheets(1).Cells(1, 1).Top, _
                               Worksheets(1).Cells(1, 1).Width, _
                               Worksheets(1).Cells(1, 1).Height)

    .Text = "ボタン1"
    .Name = "ROW_1"
    .OnAction = "Macro1"
    .Font.Name = "MS ゴシック"
    .Font.ColorIndex = 3

End With