1) AFAIK there is no way to customise the buttons in a messagebox - you would need to create a user form for this purpose that you can customise to your heart's content.

2) You return something from a function by giving the function a value. For example,

[vba]
Function MyMessage() As String
' code here
...

MyMessage = "This is my message"
End Function[/vba]

You declare the function as a type in the same way as a variable, and the value you set for your function needs to correspond to the type set.