Jumpy, Al,
I kind of figured this out, thanks to the questions u raised. I used excel to store the userform values against the Shape IDs.
When I click a used shape, this code goes through the excel sheet, looks for the Shape ID and pastes its respective values to the userform before showing it; Else, it shows a blank one.
Dim shpobj as Visio.Shape
loInputtable as Excel.workbook.worksheet.listobjects("InputTable")
For i = 1 To loInputTable.ListRows.Count
' If ActiveWindow.Selection.Count = 0 Then
' MsgBox ("select a shape with connections")
' Exit Sub
' Else
Set shpobj = ActiveWindow.Selection(1)
' End If
If loInputTable.ListColumns(1).DataBodyRange(i).Value = shpobj.ID Then
Userform1.txtTag.Value = loInputTable.ListColumns(2).DataBodyRange(i).Value
Userform1.Show
Exit Sub
ElseIf loInputTable.ListColumns(1).DataBodyRange(i).Value = "" Then
Userform1.Show
Exit Sub
End If
Next i