I am stumped again by what is probably a simple problem.

I'm trying to get a variable onto a userform in Personal.xlsb which triggers when the user clicks on a hyperlink that's created by another macro.

I've declared a public variable:

Option Explicit
Public DelNoBoxVar As String
And then when the hyperlink is clicked this code runs. The MsgBox shows the variable correctly at this point:

Private Sub App_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)
DelNoBoxVar = Target.TextToDisplay
MsgBox DelNoBoxVar
Application.Run "Personal.xlsb!showmyform", DelNoBoxVar
End Sub
The sub "showmyform" is as follows, and again the MsgBox shows the variable correctly here:

Public Sub showmyform(DelNoBoxVar as String)
MsgBox DelNoBoxVar
UserForm1.Show
End Sub
Then the following in UserForm1. The MsgBox here is blank.

Private Sub UserForm_Initialize ()
MsgBox DelNoBoxVar
DelNoBox.Value = DelNoBoxVar
End Sub
If anyone has any ideas I'd really appreciate it.