Extract each line of text from a textbox into an array

P

Peter Bircher

Hi all

Please can somebody help me

[Excel 2010 on Windows 7]

I have a textbox that the user can populate by entering text and hitting
enter, creating several lines of text.
(Alternatively, she may take several lines of text from, say a webpage,
cutting and pasting it in)

Upon exiting the text box, I now would like to take each line, one at a
time, and place them into a globally dimensioned array called Features.

Private Sub TBoxFeatures_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim I As Integer
Dim LinesOfText As Integer
If Len(TBoxFeatures) > 0 Then
LinesOfText = TBoxFeatures.LineCount
If LinesOfText > 0 Then
For I = 0 To LinesOfText
Features(I) = TBoxFeatures 'XXX
Next I
End If
End If
End Sub

XXX = this is the tricky part - how to get *each row* of data into the
array - as it stands it places all lines together into each element of the
array


Thanks in advance

Peter Bircher
 
G

GS

It happens that Peter Bircher formulated :
Hi all

Please can somebody help me

[Excel 2010 on Windows 7]

I have a textbox that the user can populate by entering text and hitting
enter, creating several lines of text.
(Alternatively, she may take several lines of text from, say a webpage,
cutting and pasting it in)

Upon exiting the text box, I now would like to take each line, one at a time,
and place them into a globally dimensioned array called Features.

Private Sub TBoxFeatures_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim I As Integer
Dim LinesOfText As Integer
If Len(TBoxFeatures) > 0 Then
LinesOfText = TBoxFeatures.LineCount
If LinesOfText > 0 Then
For I = 0 To LinesOfText
Features(I) = TBoxFeatures 'XXX
Next I
End If
End If
End Sub

XXX = this is the tricky part - how to get *each row* of data into the array
- as it stands it places all lines together into each element of the array


Thanks in advance

Peter Bircher

Try changing your approach! For example...

Dim vText As Variant, n As Integer

'Load textbox contents into an array
vText = Split(TBoxFeatures.Text, vbCrLf)

For n = LBound(vText) To UBound(vText)
'process each line
Debug.Print vText(n)
Next 'n

--
Garry

Free usenet access at http://www.eternal-september.org
ClassicVB Users Regroup!
comp.lang.basic.visual.misc
microsoft.public.vb.general.discussion
 
P

Peter Bircher

Thanks, Garry for that super fast reply!

I will give it a shot

Peter Bircher

"GS" wrote in message
It happens that Peter Bircher formulated :
Hi all

Please can somebody help me

[Excel 2010 on Windows 7]

I have a textbox that the user can populate by entering text and hitting
enter, creating several lines of text.
(Alternatively, she may take several lines of text from, say a webpage,
cutting and pasting it in)

Upon exiting the text box, I now would like to take each line, one at a
time, and place them into a globally dimensioned array called Features.

Private Sub TBoxFeatures_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim I As Integer
Dim LinesOfText As Integer
If Len(TBoxFeatures) > 0 Then
LinesOfText = TBoxFeatures.LineCount
If LinesOfText > 0 Then
For I = 0 To LinesOfText
Features(I) = TBoxFeatures 'XXX
Next I
End If
End If
End Sub

XXX = this is the tricky part - how to get *each row* of data into the
array - as it stands it places all lines together into each element of the
array


Thanks in advance

Peter Bircher

Try changing your approach! For example...

Dim vText As Variant, n As Integer

'Load textbox contents into an array
vText = Split(TBoxFeatures.Text, vbCrLf)

For n = LBound(vText) To UBound(vText)
'process each line
Debug.Print vText(n)
Next 'n

--
Garry

Free usenet access at http://www.eternal-september.org
ClassicVB Users Regroup!
comp.lang.basic.visual.misc
microsoft.public.vb.general.discussion
 
P

Peter Bircher

Hi Garry

Have applied it and it works perfectly.

Thanks ever so much

Pete

"GS" wrote in message
It happens that Peter Bircher formulated :
Hi all

Please can somebody help me

[Excel 2010 on Windows 7]

I have a textbox that the user can populate by entering text and hitting
enter, creating several lines of text.
(Alternatively, she may take several lines of text from, say a webpage,
cutting and pasting it in)

Upon exiting the text box, I now would like to take each line, one at a
time, and place them into a globally dimensioned array called Features.

Private Sub TBoxFeatures_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim I As Integer
Dim LinesOfText As Integer
If Len(TBoxFeatures) > 0 Then
LinesOfText = TBoxFeatures.LineCount
If LinesOfText > 0 Then
For I = 0 To LinesOfText
Features(I) = TBoxFeatures 'XXX
Next I
End If
End If
End Sub

XXX = this is the tricky part - how to get *each row* of data into the
array - as it stands it places all lines together into each element of the
array


Thanks in advance

Peter Bircher

Try changing your approach! For example...

Dim vText As Variant, n As Integer

'Load textbox contents into an array
vText = Split(TBoxFeatures.Text, vbCrLf)

For n = LBound(vText) To UBound(vText)
'process each line
Debug.Print vText(n)
Next 'n

--
Garry

Free usenet access at http://www.eternal-september.org
ClassicVB Users Regroup!
comp.lang.basic.visual.misc
microsoft.public.vb.general.discussion
 

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