Você precisa executar o primeiro para obter os nomes. O segundo aqui mostra como chamar a função que você tem lá.
Sub myshapes()
Dim shp As Shape
For Each shp In ActiveSheet.Shapes
Debug.Print shp.Name
Next
End Sub
Sub sendit()
Dim shpnm As String
shpnm = "Rectangle 1"
Dim mystring As String
mystring = "blah blah"
Dim x As Variant
x = SetShapeText(mystring, shpnm)
End Sub
Veja, você tem uma função lá que requer duas entradas: s, sShpName
Para usar uma função, você precisa chamar isso para passar seus argumentos para ela, como acima. Não há razão para alterar nada dentro da função.