View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.worksheet.functions
Gord Dibben Gord Dibben is offline
external usenet poster
 
Posts: 22,906
Default Extract all letters from a cell sentence

UDF.................

Function ConCatRange(CellBlock As Range) As String
Dim Cell As Range
Dim sbuf As String
For Each Cell In CellBlock
If Len(Cell.text) 0 Then sbuf = sbuf & Cell.text & ""
Next
ConCatRange = Left(sbuf, Len(sbuf) - 1)
End Function

=ConCatRange(C40:Q40)

Macro..........................

Sub ConCat_Cells()
Dim X As Range
Dim y As Range
Dim z As Range
Dim w As String
Dim sbuf As String
On Error GoTo endit
w = InputBox("Enter a De-limiter if Desired")
Set z = Application.InputBox("Select Destination Cell", _
"Destination Cell", , , , , , 8)
Application.SendKeys "+{F8}"
Set X = Application.InputBox("Select Cells, Contiguous or Non-Contiguous", _
"Cells Selection", , , , , , 8)
For Each y In X
If Len(y.text) 0 Then sbuf = sbuf & y.text & w
Next
z = Left(sbuf, Len(sbuf) - Len(w))
Exit Sub
endit:
MsgBox "Nothing Selected. Please try again."
End Sub


Gord

On Fri, 14 Dec 2007 12:38:56 GMT, "michaelxhermes via OfficeKB.com" <u39868@uwe
wrote:

Thanks very much Gord and Don

I used the column() function to give me letter postions to extract

But now I have a different problem

I need to join a long list of 1 char cells back to one cell –one word in the
one cell

=CONCATENATE(C40,D40,E40,F40,G40,H40,I40,J40,K40, L40,M40,N40,O40,P40,Q40)

This will work but is there any other way of doing this so I don’t have to
list all these and more cells?

Thanks

Michael


Gord Dibben wrote:
This is the sentence of close to 50 chars in A1

=MID($A$1,ROW(),1) entered in B1 and dragged down.

Will return letters and spaces.

Gord Dibben MS Excel MVP

Extract all letters from a text word or sentence

[quoted text clipped - 19 lines]

Michael