Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
DiscussionsAccessExcelInfoPathOutlookPowerPointPublisherWord
DirectoryUser Groups
Related Topics
Outlook ExpressInternet ExplorerWindowsMS Server ProductsMore Topics ...

MS Office Forum / Excel / Programming / May 2008

Tip: Looking for answers? Try searching our database.

extracting strings from cell

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Anand - 28 May 2008 21:17 GMT
I have multiple names stored in a cell. I want to extract individual
names out of the cell. Appreciate any help in this regard.

The cell contains "AAA  BBB  CCC  DDD"
I want to extract this into an array:
Names(0) = "AAA"
Names(1) = "BBB"
Names(2) = "CCC"
Names(3) = "DDD"

Thanks,
Anand.
Rick Rothstein (MVP - VB) - 28 May 2008 21:33 GMT
I am assuming that when you say the cell contains
"AAA  BBB  CCC  DDD", you mean without the surrounding quote marks. Give
this code snippet a try...

 Dim Names() As String
 With Worksheets("Sheet1")
   Names = Split(.Range("A1").Value, " ")
 End With

 '  Proof that it worked
 Dim X As Long
 For X = 0 To UBound(Names)
   Debug.Print Names(X)
 Next

Change the Sheet1 and A1 references to match your needs.

Rick

>I have multiple names stored in a cell. I want to extract individual
> names out of the cell. Appreciate any help in this regard.
[quoted text clipped - 8 lines]
> Thanks,
> Anand.
Norman Jones - 28 May 2008 21:36 GMT
Hi Arnand,

Try:

'================>>
Public Sub Tester2()
Dim arr As Variant
Dim i As Long
Const sStr As String = "AAA BBB CCC DDD"

arr = Split(sStr, Space(1))

For i = LBound(arr) To UBound(arr)
Debug.Print arr(i)
Next i

End Sub
'<<================

---
Regards.
Norman

>I have multiple names stored in a cell. I want to extract individual
> names out of the cell. Appreciate any help in this regard.
[quoted text clipped - 8 lines]
> Thanks,
> Anand.
Norman Jones - 28 May 2008 21:42 GMT
Hi Arnand,

I should have added that the string

       "AAA  BBB  CCC  DDD"

is in fact double spaced.

If this is intentional, change:

       > arr = Split(sStr, Space(1))

to

       > arr = Split(sStr, Space(2))

---
Regards.
Norman
Dave Peterson - 28 May 2008 21:48 GMT
Or if the number of spaces were unknown:

arr = Split(sStr, Space(1))
becomes:
arr = Split(application.trim(sStr), Space(1))

> Hi Arnand,
>
[quoted text clipped - 15 lines]
> Regards.
> Norman

Signature

Dave Peterson

Norman Jones - 29 May 2008 03:15 GMT
Hi Dave,

============
> Or if the number of spaces were unknown:

> arr = Split(sStr, Space(1))
 becomes:
 arr = Split(application.trim(sStr), Space(1))
============

Excellent improvemnt!

Thankyou!

---
Regards.
Norman
Rick Rothstein (MVP - VB) - 29 May 2008 04:31 GMT
> ============
>> Or if the number of spaces were unknown:
[quoted text clipped - 5 lines]
>
> Excellent improvemnt!

Although some may not consider this an improvement because it is not as
clear as to what is going on, but the space character is the default
delimiter for the Split function, so, in this case, it can be omitted...

arr = Split(application.trim(sStr))

Rick
John Bundy - 28 May 2008 21:47 GMT
If it always has a space, look into the split function, it splits data at a
delimiter into an array, if you don't like that then just step through each
character in a for next loop
*pseudocode*

For i=1 to len(cells(1,1))
myString=myString & trim(mid(cells(1,1),i,1))

if mid(cells(1,1),i,1)="" then
Names(arrayIndex)=mystring
mystring=Nothing
arrayIndex=arrayIndex+1
end if

next

that looks like it should do what you ask.

Signature

-John
Please rate when your question is answered to help us and others know what
is helpful.

> I have multiple names stored in a cell. I want to extract individual
> names out of the cell. Appreciate any help in this regard.
[quoted text clipped - 8 lines]
> Thanks,
> Anand.
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.