Extract all letters from a cell sentence

M

michaelxhermes

Extract all letters from a text word or sentence

I would like to extract all the letters from a sentence which is entered in a
cell. I need each of the letters separately to “encrypt†them, I can then
can concatenate them back to form the encrypted sentence. (for a school
lesson on encryption)

I know I can use MID() function to extract each letter

But for this I need to have the position of the letter I want in the
function =MID(A1,start,1) but start increases by one for each letter, so
I need to hard code the start from 1 to say 50 to extract each letter in
turn

Is there any other way I can do this? So I don’t have to hard code and so I
can have this extract working for any length of initial sentence!

I know I could do this is VB code but was just wondering if anyone knows a
simpler solution using the normal excel functions?

Thanks for your help

Michael
 
D

Don Guillett

Not exactly sure what you are doing but this should help
Sub getletterstostring()
mc = Application.Trim(ActiveCell)
For i = 1 To Len(mc)
'If Mid(mc, i, 1) <> " " Then MsgBox Mid(mc, i, 1)
If Mid(mc, i, 1) <> " " Then ms = ms & Mid(mc, i, 1)
Next i
MsgBox ms
End Sub
 
G

Gord Dibben

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
 
M

michaelxhermes via OfficeKB.com

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 said:
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]
 
G

Gord Dibben

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

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 said:
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]
 
M

michaelxhermes via OfficeKB.com

Thanks Gord for your time and interest!

Much appreciated

I will try you solution now

Regards

Michael
Gord said:
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
Thanks very much Gord and Don
[quoted text clipped - 27 lines]
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top