Ciao a tutti.
Ho una macro che disegna alcuni oggetti su un foglio di lavoro e assegna loro una macro da eseguire al click. Riporto il codice per chiarezza.

Questo è quello che si trova nella macro principale:
codice:
'Inserisci pulsanti di aggiunta riga
ReDim pulsante(0 To valore - 1)
For i = 0 To valore - 1
    Set pulsante(i) = AddShapeToRange(msoShapeMathPlus, "G" & CStr(4 + i))
Next
La funzione AddShapetoRange è fatta così:
codice:
Function AddShapeToRange(ShapeType As MsoAutoShapeType, sAddress As String) As Shape

With ActiveSheet.Range(sAddress)
    Set AddShapeToRange = ActiveSheet.Shapes.AddShape(ShapeType, .Left, .Top, .Width, .Height)
        With AddShapeToRange
            .ShapeStyle = msoShapeStylePreset37
            .OnAction = "inserisci_riga(" & sAddress & ")"
            .Placement = xlMove
        End With
End With
End Function
La sub inserisci_riga() è fatta così:
codice:
Sub inserisci_riga(posizione As String)
Range(posizione).Select
Selection.EntireRow.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
End Sub
Gli oggetti vengono creati e le macro assegnate. Ma quando clicco su qualsiasi degli oggetti creati (e richiamo dunque la sub "inserisci_riga") excel dice:
Impossibile eseguire la macro 'inserisci_riga(G4)'. E' possibile che tale macro non sia disponibile o che tutte le macro siano disattivate.

Dove sta l'errore?