You have the hard part out of the way, finding the 2 spaces between the first, middle & last names. Now we just need to use the
Mid() Function to extract what we're looking for.
To ensure the proper casing we will use
LCase to convert to lower case, and
UCase to convert to upper case. Something like:
vb
Private Sub cmdMonogram_Click()
Dim strName As String
Dim intMiddlePosition As Integer
Dim intLastPosition As Integer
Dim strFirstInitial As String
Dim strMiddleInitial As String
Dim strLastInitial As String
strName = txtName.Text
intMiddlePosition = InStr(1, Len(strName), " ") + 1
intLastPosition = InStr(1, Len(strName), " ") + 1
'Get the first initial (lower case) using Left()
strFirstInitial = LCase(Left(strName,1))
'Get the middle initial (lower case) using Mid()
strMiddleInitial = LCase(Mid(strName,intMiddlePosition,1))
'Get the last initial (upper case) using Mid()
strLastInitial = UCase(Mid(strName,intLastPosition,1))
End Sub
Hope that helps