PDA

View Full Version : to many line continuations during parsing



jacque
03-19-2018, 11:00 AM
I have 271 numbers in A1 that come from another program I can parse them manually with no problem, however when I create a macro, I get the following error "too many line continuations".

I tried annually to add the command to the macro, but no luck.

Any help would be appreciated.

Thx

SamT
03-19-2018, 01:17 PM
Show us your Macro

Use the # icon to place Code Formatting Tags around the selected Code

jacque
03-19-2018, 01:46 PM
Sam
Thanks for the replay, I do not understand your answer i try to copy the code but will not let me paste, or attach the file.

jacque
03-19-2018, 01:54 PM
Attached please find the file.

jacque
03-19-2018, 02:33 PM
Sub test_pars()
'
' test_pars Macro
'
'
Range("A1").Select
Selection.TextToColumns Destination := Range("A1"), DataType := xlDelimited, _
TextQualifier := xlDoubleQuote, ConsecutiveDelimiter := FALSE, Tab := TRUE, _
Semicolon := FALSE, Comma := TRUE, Space := FALSE, Other := FALSE, FieldInfo _
:= Array(Array(1,1),Array(2,1),Array(3,1),Array(4,1),Array(5,1),Array(6,1), _
Array(7,1),Array(8,1),Array(9,1),Array(10,1),Array(11,1),Array(12,1),Array( 13,1),Array(14,1),Array(15,1),_
Array(16,1),Array(17,1),Array(18,1),Array(19,1),Array(20,1),Array(21,1),Arr ay(22,1),Array(23,1),Array(24,1),_
Array(25,1),Array(26,1), _
Array(27,1),Array(28,1),Array(29,1),Array(30,1),Array(31,1),Array(32,1),Arr ay( _
33,1),Array(34,1),Array(35,1),Array(36,1),Array(37,1),Array(38,1),Array(39, 1), _
Array(40,1),Array(41,1),Array(42,1),Array(43,1),Array(44,1),Array(45,1),Arr ay( _
46,1),Array(47,1),Array(48,1),Array(49,1),Array(50,1),Array(51,1),Array(52, 1), _
Array(53,1),Array(54,1),Array(55,1),Array(56,1),Array(57,1),Array(58,1),Arr ay( _
59,1),Array(60,1),Array(61,1),Array(62,1),Array(63,1),Array(64,1),Array(65, 1), _
Array(66,1),Array(67,1),Array(68,1),Array(69,1),Array(70,1),Array(71,1),Arr ay( _
72,1),Array(73,1),Array(74,1),Array(75,1),Array(76,1),Array(77,1),Array(78, 1), _
Array(79,1),Array(80,1),Array(81,1),Array(82,1),Array(83,1),Array(84,1),Arr ay( _
85,1),Array(86,1),Array(87,1),Array(88,1),Array(89,1),Array(90,1),Array(91, 1), _
Array(92,1),Array(93,1),Array(94,1),Array(95,1),Array(96,1),Array(97,1),Arr ay( _
98,1),Array(99,1),Array(100,1),Array(101,1),Array(102,1),Array(103,1),Array (104 _
,1),Array(105,1),Array(106,1),Array(107,1),Array(108,1),Array(109,1),Array( 110, _
1),Array(111,1),Array(112,1),Array(113,1),Array(114,1),Array(115,1),Array(1 16,1 _
),Array(117,1),Array(118,1),Array(119,1),Array(120,1),Array(121,1),Array(12 2,1) _
,Array(123,1),Array(124,1),Array(125,1),Array(126,1),Array(127,1),Array(128 ,1), _
Array(129,1),Array(130,1),Array(131,1),Array(132,1),Array(133,1),Array(134, 1), _
End Sub

SamT
03-19-2018, 02:40 PM
THe Code in question

Sub test_pars()
'
' test_pars Macro
'

'
Range("A1").Select
Selection.TextToColumns Destination := Range("A1"), DataType := xlDelimited, _
TextQualifier := xlDoubleQuote, ConsecutiveDelimiter := FALSE, Tab := TRUE, _
Semicolon := FALSE, Comma := TRUE, Space := FALSE, Other := FALSE, FieldInfo _
:= Array(Array(1,1),Array(2,1),Array(3,1),Array(4,1),Array(5,1),Array(6,1), _
Array(7,1),Array(8,1),Array(9,1),Array(10,1),Array(11,1),Array(12,1),Array( 13,1), _
Array(14,1), Array(15,1), _
Array(16,1),Array(17,1),Array(18,1),Array(19,1),Array(20,1),Array(21,1),Arr ay(22,1), _
Array(23,1),Array(24,1), Array(25,1),Array(26,1), _
Array(27,1),Array(28,1),Array(29,1),Array(30,1),Array(31,1),Array(32,1),Arr ay( _
33,1),Array(34,1),Array(35,1),Array(36,1),Array(37,1),Array(38,1),Array(39, 1), _
Array(40,1),Array(41,1),Array(42,1),Array(43,1),Array(44,1),Array(45,1),Arr ay( _
46,1),Array(47,1),Array(48,1),Array(49,1),Array(50,1),Array(51,1),Array(52, 1), _
Array(53,1),Array(54,1),Array(55,1),Array(56,1),Array(57,1),Array(58,1),Arr ay( _
59,1),Array(60,1),Array(61,1),Array(62,1),Array(63,1),Array(64,1),Array(65, 1), _
Array(66,1),Array(67,1),Array(68,1),Array(69,1),Array(70,1),Array(71,1),Arr ay( _
72,1),Array(73,1),Array(74,1),Array(75,1),Array(76,1),Array(77,1),Array(78, 1), _
Array(79,1),Array(80,1),Array(81,1),Array(82,1),Array(83,1),Array(84,1),Arr ay( _
85,1),Array(86,1),Array(87,1),Array(88,1),Array(89,1),Array(90,1),Array(91, 1), _
Array(92,1),Array(93,1),Array(94,1),Array(95,1),Array(96,1),Array(97,1),Arr ay( _
98,1),Array(99,1),Array(100,1),Array(101,1),Array(102,1),Array(103,1),Array (104 _
,1),Array(105,1),Array(106,1),Array(107,1),Array(108,1),Array(109,1),Array( 110, _
1),Array(111,1),Array(112,1),Array(113,1),Array(114,1),Array(115,1),Array(1 16,1 _
),Array(117,1),Array(118,1),Array(119,1),Array(120,1),Array(121,1),Array(12 2,1) _
,Array(123,1),Array(124,1),Array(125,1),Array(126,1),Array(127,1),Array(128 ,1), _
Array(129,1),Array(130,1),Array(131,1),Array(132,1),Array(133,1),Array(134, 1), _
End Sub

Looking at that mess, I see that the last line of the Code has a Line continuation to the "End Sub"

jacque
03-19-2018, 03:11 PM
Sam:
yes it is a mess, however i can not add any more lines before "End Sub", it will not accept anymore line.

rlv
03-19-2018, 05:03 PM
It looks like Excel vba editor limits you to ~26 line continuations. You can somewhat get around it using longer lines to bring the continuation count to under 26. So for example, this won't work:


Sub test_pars()
'
' test_pars Macro
'


'
Range("A1").Select
Selection.TextToColumns Destination := Range("A1"), DataType := xlDelimited, _
TextQualifier := xlDoubleQuote, ConsecutiveDelimiter := FALSE, Tab := TRUE, _
Semicolon := FALSE, Comma := TRUE, Space := FALSE, Other := FALSE, FieldInfo _
:= Array(Array(1,1),Array(2,1),Array(3,1),Array(4,1),Array(5,1),Array(6,1), _
Array(7,1),Array(8,1),Array(9,1),Array(10,1),Array(11,1),Array(12,1),Array( 13,1), _
Array(14,1), Array(15,1), _
Array(16,1),Array(17,1),Array(18,1),Array(19,1),Array(20,1),Array(21,1),Arr ay(22,1), _
Array(23,1),Array(24,1), Array(25,1),Array(26,1), _
Array(27,1),Array(28,1),Array(29,1),Array(30,1),Array(31,1),Array(32,1),Arr ay( _
33,1),Array(34,1),Array(35,1),Array(36,1),Array(37,1),Array(38,1),Array(39, 1), _
Array(40,1),Array(41,1),Array(42,1),Array(43,1),Array(44,1),Array(45,1),Arr ay( _
46,1),Array(47,1),Array(48,1),Array(49,1),Array(50,1),Array(51,1),Array(52, 1), _
Array(53,1),Array(54,1),Array(55,1),Array(56,1),Array(57,1),Array(58,1),Arr ay( _
59,1),Array(60,1),Array(61,1),Array(62,1),Array(63,1),Array(64,1),Array(65, 1), _
Array(66,1),Array(67,1),Array(68,1),Array(69,1),Array(70,1),Array(71,1),Arr ay( _
72,1),Array(73,1),Array(74,1),Array(75,1),Array(76,1),Array(77,1),Array(78, 1), _
Array(79,1),Array(80,1),Array(81,1),Array(82,1),Array(83,1),Array(84,1),Arr ay( _
85,1),Array(86,1),Array(87,1),Array(88,1),Array(89,1),Array(90,1),Array(91, 1), _
Array(92,1),Array(93,1),Array(94,1),Array(95,1),Array(96,1),Array(97,1),Arr ay( _
98,1),Array(99,1),Array(100,1),Array(101,1),Array(102,1),Array(103,1),Array (104 _
,1),Array(105,1),Array(106,1),Array(107,1),Array(108,1),Array(109,1),Array( 110, _
1),Array(111,1),Array(112,1),Array(113,1),Array(114,1),Array(115,1),Array(1 16,1 _
),Array(117,1),Array(118,1),Array(119,1),Array(120,1),Array(121,1),Array(12 2,1) _
,Array(123,1),Array(124,1),Array(125,1),Array(126,1),Array(127,1),Array(128 ,1), _
Array(129,1),Array(130,1),Array(131,1),Array(132,1),Array(133,1),Array(134, 1), _
Array(135,1),Array(136,1),Array(137,1),Array(138,1),Array(139,1),Array(140, 1))
End Sub


but this will:


Sub test_pars()
'
' test_pars Macro
'


'
Range("A1").Select
Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _
:=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1), Array(14, 1), _
Array(15, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array(20, 1), Array(21, 1), Array(22, 1), Array(23, 1), Array(24, 1), Array(25, 1), Array(26, 1), Array(27, 1), Array(28, 1), _
Array(29, 1), Array(30, 1), Array(31, 1), Array(32, 1), Array(33, 1), Array(34, 1), Array(35, 1), Array(36, 1), Array(37, 1), Array(38, 1), Array(39, 1), Array(40, 1), Array(41, 1), Array(42, 1), _
Array(43, 1), Array(44, 1), Array(45, 1), Array(46, 1), Array(47, 1), Array(48, 1), Array(49, 1), Array(50, 1), Array(51, 1), Array(52, 1), Array(53, 1), Array(54, 1), Array(55, 1), Array(56, 1), _
Array(57, 1), Array(58, 1), Array(59, 1), Array(60, 1), Array(61, 1), Array(62, 1), Array(63, 1), Array(64, 1), Array(65, 1), Array(66, 1), Array(67, 1), Array(68, 1), Array(69, 1), Array(70, 1), _
Array(71, 1), Array(72, 1), Array(73, 1), Array(74, 1), Array(75, 1), Array(76, 1), Array(77, 1), Array(78, 1), Array(79, 1), Array(80, 1), Array(81, 1), Array(82, 1), Array(83, 1), Array(84, 1), _
Array(85, 1), Array(86, 1), Array(87, 1), Array(88, 1), Array(89, 1), Array(90, 1), Array(91, 1), Array(92, 1), Array(93, 1), Array(94, 1), Array(95, 1), Array(96, 1), Array(97, 1), Array(98, 1), _
Array(99, 1), Array(100, 1), Array(101, 1), Array(102, 1), Array(103, 1), Array(104, 1), Array(105, 1), Array(106, 1), Array(107, 1), Array(108, 1), Array(109, 1), Array(110, 1), Array(111, 1), _
Array(112, 1), Array(113, 1), Array(114, 1), Array(115, 1), Array(116, 1), Array(117, 1), Array(118, 1), Array(119, 1), Array(120, 1), Array(121, 1), Array(122, 1), Array(123, 1), Array(124, 1), _
Array(125, 1), Array(126, 1), Array(127, 1), Array(128, 1), Array(129, 1), Array(130, 1), Array(131, 1), Array(132, 1), Array(133, 1), Array(134, 1), Array(135, 1), Array(136, 1), Array(137, 1), _
Array(138, 1), Array(139, 1), Array(140, 1))
End Sub


Option C would be to explain what you are trying to do to see if someone here can suggest a more elegant way.

rlv
03-19-2018, 05:37 PM
Maybe something like this instead:


'From row A1 to last row in A with data
Sub ParseCSVData()
Dim WS As Worksheet
Dim ColRange As Range, R As Range
Dim N As Long
Dim SA As Variant

Set WS = ActiveSheet
With WS
Set ColRange = Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row)
End With

For Each R In ColRange
SA = Split(R.Value, ",")
For N = 0 To UBound(SA)
R.Offset(0, N).Value = SA(N)
Next N
Next R
End Sub

jacque
03-19-2018, 08:41 PM
RLV:

This one worked great, thanx you save my life:yes

The string comes from another software, i manually copy and paste to excel to make few changes and get the final result.

again thanx