ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   TextToColumns Method - Delimited by Double Spaces (https://www.excelbanter.com/excel-programming/336209-texttocolumns-method-delimited-double-spaces.html)

Alan

TextToColumns Method - Delimited by Double Spaces
 

Hi All,

I am having trouble getting the TextToColumns method of the range
class to work as I need.

The code I am using simplifies to the following:

Sub TTC()

Range("A1").TextToColumns _
Destination:=Range("A1"), _
DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=True, _
Tab:=False, _
Semicolon:=False, _
Comma:=False, _
Space:=False, _
Other:=True, _
OtherChar:=Chr(32) & Chr(32), _
FieldInfo:=Array(Array(1, 1), Array(2, 1))

End Sub


The problem is that I cannot get it to recognise two spaces as the
delimiter (as opposed to a single space).

I have tried replacing two spaces (" ") with the expression:

Chr(32) & Chr(32)

but that still doesn't seem to work.

If I put "a b" (="a" & chr(32) & "b") into A1 and run that code, it
still splits the two letters into A1 and B1.

The data set is of a form where the delimiter is two spaces, but a
single space legitimately arises within a field ("FirstName LastName")
would be an example.

Can anyone advise on what I am doing wrong? It seems to be something
that should be quite a simple and commonplace requirement, so perhaps
I am just having a case of short-sightedness?

Thanks,

Alan.






Norman Jones

TextToColumns Method - Delimited by Double Spaces
 
Hi Alan,

With the 'Treat consecutive delimiters as one" selected in Excel

or (in VBA)

ConsecutiveDelimiter:=True,

set the delimiter to " " (Chr(32)) and both spaces will be teated as a
single space.

In short, set the delimiter to a single space chr(32)) and all should be
well!


---
Regards,
Norman



"Alan" wrote in message
...

Hi All,

I am having trouble getting the TextToColumns method of the range
class to work as I need.

The code I am using simplifies to the following:

Sub TTC()

Range("A1").TextToColumns _
Destination:=Range("A1"), _
DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=True, _
Tab:=False, _
Semicolon:=False, _
Comma:=False, _
Space:=False, _
Other:=True, _
OtherChar:=Chr(32) & Chr(32), _
FieldInfo:=Array(Array(1, 1), Array(2, 1))

End Sub


The problem is that I cannot get it to recognise two spaces as the
delimiter (as opposed to a single space).

I have tried replacing two spaces (" ") with the expression:

Chr(32) & Chr(32)

but that still doesn't seem to work.

If I put "a b" (="a" & chr(32) & "b") into A1 and run that code, it
still splits the two letters into A1 and B1.

The data set is of a form where the delimiter is two spaces, but a
single space legitimately arises within a field ("FirstName LastName")
would be an example.

Can anyone advise on what I am doing wrong? It seems to be something
that should be quite a simple and commonplace requirement, so perhaps
I am just having a case of short-sightedness?

Thanks,

Alan.








Alan

TextToColumns Method - Delimited by Double Spaces
 
"Norman Jones" wrote in
message ...

Hi Alan,

With the 'Treat consecutive delimiters as one" selected in Excel

or (in VBA)

ConsecutiveDelimiter:=True,

set the delimiter to " " (Chr(32)) and both spaces will be teated
as a single space.

In short, set the delimiter to a single space chr(32)) and all
should be well!


Hi Norman,

If I do that, it will split the "FirstName LastName" field into two
cells though.

Or am I misunderstanding your suggestion?

Thanks,

Alan.






Norman Jones

TextToColumns Method - Delimited by Double Spaces
 
Hi Alan,

I mis-read.

Try:

Sub Tester()

Selection.Replace What:=" ", _
Replacement:="#", _
LookAt:=xlPart, _
SearchOrder:=xlByColumns, _
MatchCase:=False

Selection.TextToColumns Destination:=Range("A6"), _
DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=True, _
Tab:=True, _
Semicolon:=False, _
Comma:=False, _
Space:=False, _
Other:=True, _
OtherChar:="#"

End Sub

---
Regards,
Norman



"Alan" wrote in message
...
"Norman Jones" wrote in
message ...

Hi Alan,

With the 'Treat consecutive delimiters as one" selected in Excel

or (in VBA)

ConsecutiveDelimiter:=True,

set the delimiter to " " (Chr(32)) and both spaces will be teated
as a single space.

In short, set the delimiter to a single space chr(32)) and all
should be well!


Hi Norman,

If I do that, it will split the "FirstName LastName" field into two
cells though.

Or am I misunderstanding your suggestion?

Thanks,

Alan.








Alan

TextToColumns Method - Delimited by Double Spaces
 
"Norman Jones" wrote
in message ...

Hi Alan,

I mis-read.


No worries - I thought I was missing something at my end!


Try:

Sub Tester()

Selection.Replace What:=" ", _
Replacement:="#", _
LookAt:=xlPart, _
SearchOrder:=xlByColumns, _
MatchCase:=False

Selection.TextToColumns Destination:=Range("A6"), _
DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=True, _
Tab:=True, _
Semicolon:=False, _
Comma:=False, _
Space:=False, _
Other:=True, _
OtherChar:="#"

End Sub


Superb - so simple and obvious (now) of course!

Thank you so much - I really appreciate your assistance.

Regards,

Alan.





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

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