Assuming just spaces as a delimiter -- no punctuation at all:
I'd use a user defined function:
Option Explicit
Function makeAcronym(rng As Range) As String
Dim StrIn As String
Dim StrOut As String
Dim iCtr As Long
Set rng = rng(1)
StrIn = " " & Application.Trim(rng.Value)
StrOut = ""
For iCtr = 1 To Len(StrIn) - 1
If Mid(StrIn, iCtr, 1) = " " Then
StrOut = StrOut & Mid(StrIn, iCtr + 1, 1)
End If
Next iCtr
makeAcronym = StrOut
End Function
If you're new to macros, you may want to read David McRitchie's intro at:
http://www.mvps.org/dmcritchie/excel/getstarted.htm
=======
Short course:
Open your workbook.
Hit alt-f11 to get to the VBE (where macros/UDF's live)
hit ctrl-R to view the project explorer
Find your workbook.
should look like: VBAProject (yourfilename.xls)
right click on the project name
Insert, then Module
You should see the code window pop up on the right hand side
Paste the code in there.
Now go back to excel.
Type
=makeAcronym(a1)
in a cell (but point at the cell with the string).
===
but you could use a formula, too:
=TRIM(LEFT(TRIM(A1),1)
&MID(TRIM(A1)&" ",FIND(" ",TRIM(A1)&" ")+1,1)
&MID(A1,FIND(" ",TRIM(A1)&" ",FIND(" ",TRIM(A1)&" ")+1)+1,1))
It appends a bunch of spaces to the end, then finds spaces and takes the next
character.