Okay, now for point 2.

SamT, I have used your code as below, but am getting a 'compile error, variable not defined' here
ctrlTop = Ctrl.Top
What are the values measured in when positioning the TextBox?


Option Explicit

Dim HasFocus   As String

Private Sub CommandButton1_Click()

    HasFocus = "CommandButton1"
    ShowTextBox Me.CommandButton1
    
    TextBox10.Height = 75
    
End Sub

Private Sub TextBox10_Click()
    Me.TextBox10.Visible = False
    Me.Controls(HasFocus).SetFocus
    HasFocus = ""
End Sub

Sub ShowTextBox(Ctrl As MSForms.Control)
    With Ctrl
        ctrlTop = Ctrl.Top
        ctrlLeft = Ctrl.Left
    End With
    
    With TextBox10
        .Top = ctrlTop + 1
        .Left = ctrlLeft + 2
        .Text = TBText(Ctrl)
        .Visible = True
    End With
End Sub

Function TBText(Ctrl As MSForms.Control) As String
    Select Case Ctrl.Name
        Case Is = "CommandButton1"
            TBText = "This Is Sample Text to Show in TextBox"
        Case Is = "CommandButton2"
            TBText = "This Is Sample Text to Show in TextBox"
        Case Is = "CommandButton3"
            TBText = "This Is Sample Text to Show in TextBox"
        Case Is = "CommandButton4"
            TBText = "This Is Sample Text to Show in TextBox"
    End Select
End Function
Thanks!
Steve