ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   WORD-DELIMITED string vba macro for excel/word (https://www.excelbanter.com/excel-programming/348835-word-delimited-string-vba-macro-excel-word.html)

jackal2k6

WORD-DELIMITED string vba macro for excel/word
 

Greetings everyone,

I've been working on this for a while without success.
How can I split the following type of text into word-delimited tokens,
so that each token gets created when upon the next "Full Name" string,
and each token gets placed on a new line, for example this type of
text:

FULL NAME: XXXXXX SURNAME: XX FIRST NAME: XXXX FUNCTION: XXX FULL
NAME:XX SURNAME:X FIRST NAME:X FUNCTION:X FULL NAME:XXX SURNAME:XX
FIRST NAME:X FUNCTION:X FULL NAME: 12345 SURNAME: 45 FIRST NAME: 123
FUNCTION: 6789

Being split into this one?

FULL NAME: XXXXXX SURNAME: XX FIRST NAME: XXXX FUNCTION: XXX
FULL NAME:XX SURNAME:X FIRST NAME:X FUNCTION:X
FULL NAME:XXX SURNAME:XX FIRST NAME:X FUNCTION:X
FULL NAME: 12345 SURNAME: 45 FIRST NAME: 123 FUNCTION: 6789


The features available only have character delimiters, and I would be
really grateful if you could help me with a macro to achieve the above
re-formatting. Note that each token has a variable width, begins with
"Full Name" and ends with the piece of text after "Function". I await
your reply!

THanks


--
jackal2k6
------------------------------------------------------------------------
jackal2k6's Profile: http://www.excelforum.com/member.php...o&userid=29872
View this thread: http://www.excelforum.com/showthread...hreadid=495746


Toppers

WORD-DELIMITED string vba macro for excel/word
 
Hi,

If I have understood your needs correctly, the following will split
the string and place each "FULL NAME" string in a new row in column A. I have
taken the string to be literally as you posted i.e. this as a SINGLE text
string (in MyText in my example)

FULL NAME: XXXXXX SURNAME: XX FIRST NAME: XXXX FUNCTION: XXX FULL
NAME:XX SURNAME:X FIRST NAME:X FUNCTION:X FULL NAME:XXX SURNAME:XX
FIRST NAME:X FUNCTION:X FULL NAME: 12345 SURNAME: 45 FIRST NAME: 123
FUNCTION: 6789


Sub SplitTextX()
Dim v As Variant
Mytext = "FULL NAME: XXXXXX SURNAME: XX FIRST NAME: XXXX FUNCTION: XXX FULL
" & _
"NAME:XX SURNAME:X FIRST :X FUNCTION:X FULL NAME:XXX SURNAME:XX" & _
"FIRST NAME:X FUNCTION:X FULL NAME: 12345 SURNAME: 45 FIRST NAME: 123
FUNCTION: 6789"

v = split(Mytext, "FULL NAME")
For i = 1 To UBound(v)
Cells(i , 1) = "FULL NAME" & v(i)
Next i
End Sub


"jackal2k6" wrote:


Greetings everyone,

I've been working on this for a while without success.
How can I split the following type of text into word-delimited tokens,
so that each token gets created when upon the next "Full Name" string,
and each token gets placed on a new line, for example this type of
text:

FULL NAME: XXXXXX SURNAME: XX FIRST NAME: XXXX FUNCTION: XXX FULL
NAME:XX SURNAME:X FIRST NAME:X FUNCTION:X FULL NAME:XXX SURNAME:XX
FIRST NAME:X FUNCTION:X FULL NAME: 12345 SURNAME: 45 FIRST NAME: 123
FUNCTION: 6789

Being split into this one?

FULL NAME: XXXXXX SURNAME: XX FIRST NAME: XXXX FUNCTION: XXX
FULL NAME:XX SURNAME:X FIRST NAME:X FUNCTION:X
FULL NAME:XXX SURNAME:XX FIRST NAME:X FUNCTION:X
FULL NAME: 12345 SURNAME: 45 FIRST NAME: 123 FUNCTION: 6789


The features available only have character delimiters, and I would be
really grateful if you could help me with a macro to achieve the above
re-formatting. Note that each token has a variable width, begins with
"Full Name" and ends with the piece of text after "Function". I await
your reply!

THanks


--
jackal2k6
------------------------------------------------------------------------
jackal2k6's Profile: http://www.excelforum.com/member.php...o&userid=29872
View this thread: http://www.excelforum.com/showthread...hreadid=495746



jackal2k6[_2_]

WORD-DELIMITED string vba macro for excel/word
 

Hi Toppers, it works perfectly with the myText value you assigned to it
- how would it need to be modified if I want to do the split for a
single long string that's already in a cell, say A1?

would the conversion be
Code:
--------------------
myText = Cells (1,1)?
--------------------


Thanks!


Sub SplitTextX()
Dim v As Variant
Mytext = "FULL NAME: XXXXXX SURNAME: XX FIRST NAME: XXXX FUNCTION: XXX
FULL" & _
"NAME:XX SURNAME:X FIRST :X FUNCTION:X FULL NAME:XXX SURNAME:XX" & _
"FIRST NAME:X FUNCTION:X FULL NAME: 12345 SURNAME: 45 FIRST NAME: 123
FUNCTION: 6789"
v = Split(Mytext, "FULL NAME:")
For i = 1 To UBound(v)
Cells(i, 1) = "FULL NAME:" & v(i)
Next i
End Sub


--
jackal2k6
------------------------------------------------------------------------
jackal2k6's Profile: http://www.excelforum.com/member.php...o&userid=29872
View this thread: http://www.excelforum.com/showthread...hreadid=495746


Tom Ogilvy

WORD-DELIMITED string vba macro for excel/word
 
Yes

myText = Cells(1,1).Value

--
Regards,
Tom Ogilvy

"jackal2k6" wrote
in message ...

Hi Toppers, it works perfectly with the myText value you assigned to it
- how would it need to be modified if I want to do the split for a
single long string that's already in a cell, say A1?

would the conversion be
Code:
--------------------
myText = Cells (1,1)?
--------------------


Thanks!


Sub SplitTextX()
Dim v As Variant
Mytext = "FULL NAME: XXXXXX SURNAME: XX FIRST NAME: XXXX FUNCTION: XXX
FULL" & _
"NAME:XX SURNAME:X FIRST :X FUNCTION:X FULL NAME:XXX SURNAME:XX" & _
"FIRST NAME:X FUNCTION:X FULL NAME: 12345 SURNAME: 45 FIRST NAME: 123
FUNCTION: 6789"
v = Split(Mytext, "FULL NAME:")
For i = 1 To UBound(v)
Cells(i, 1) = "FULL NAME:" & v(i)
Next i
End Sub


--
jackal2k6
------------------------------------------------------------------------
jackal2k6's Profile:

http://www.excelforum.com/member.php...o&userid=29872
View this thread: http://www.excelforum.com/showthread...hreadid=495746





All times are GMT +1. The time now is 03:10 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com