Hi Matt. Thanks for the code. What I have working successfully is this VBscript:
[VBA]
Sub FormatCpExtractRecord()
Dim myarray As Variant
Dim strTextFile As Variant
If TypeName(strTextFile) = "Boolean" Then Exit Sub
strTextFile = Application.GetOpenFilename("Text Files (*.txt, *.txt")
Workbooks.OpenText strTextFile, , , xlFixedWidth, , , , , , , , , Array(Array(0, 1), _
Array(1, 1), Array(3, 1), Array(15, 1), Array(50, 1), Array(75, 1), _
Array(100, 1), Array(110, 1), Array(111, 1), Array(115, 1), Array(116, 1), Array(117, 1), _
Array(128, 1), Array(129, 1), Array(140, 1), Array(141, 1), Array(152, 1), Array(153, 1), _
Array(164, 1), Array(165, 1), Array(177, 1), Array(189, 1), Array(201, 1), Array(213, 1), _
Array(217, 1), Array(221, 1), Array(225, 1), Array(229, 1), Array(233, 1), Array(237, 1), _
Array(241, 1), Array(245, 1), Array(256, 1), Array(266, 1), Array(276, 1), Array(287, 1), _
Array(289, 1), Array(301, 1), Array(313, 1), Array(338, 1), Array(340, 1), Array(352, 1), _
Array(361, 1), Array(376, 1), Array(381, 1), Array(386, 1), Array(387, 1), Array(388, 1), _
Array(413, 1), Array(423, 1), Array(435, 1), Array(445, 1), Array(471, 1), Array(475, 1), _
Array(486, 1), Array(487, 1), Array(490, 1), Array(491, 1), Array(492, 1), Array(494, 1), _
Array(496, 1), Array(498, 1), Array(500, 1), Array(502, 1), Array(504, 1), Array(506, 1), _
Array(508, 1), Array(510, 1), Array(512, 1), Array(514, 1), Array(527, 1), Array(540, 1), _
Array(553, 1), Array(566, 1), Array(579, 1), Array(582, 1), Array(586, 1), Array(588, 1), _
Array(590, 1), Array(592, 1), Array(594, 1), Array(596, 1), Array(598, 1), Array(600, 1), _
Array(602, 1), Array(604, 1), Array(607, 1), Array(658, 1), Array(669, 1), Array(680, 1), _
Array(698, 1), Array(745, 1), Array(805, 1), Array(861, 1), Array(917, 1), Array(948, 1), Array(951, 1), Array(967, 1), Array(984, 1), Array(1020, 1), Array(1046, 1), Array(1072, 1), Array(1123, 1), Array(1134, 1), Array(1145, 1), Array(1165, 1), Array(1214, 1), Array(1270, 1), Array(1326, 1), Array(1382, 1), Array(1413, 1), Array(1416, 1), Array(1432, 1), Array(1449, 1), Array(1475, 1), Array(1478, 1), Array(1514, 1), Array(1541, 1), Array(1566, 1), Array(1622, 1), Array(1678, 1), Array(1734, 1), Array(1765, 1), Array(1768, 1), Array(1784, 1), Array(1788, 1), Array(1792, 1), Array(1873, 1), Array(1888, 1), Array(1903, 1), Array(1914, 1), Array(1996, 1), Array(1999, 1), Array(2050, 1), Array(2076, 1), Array(2102, 1), Array(2158, 1), Array(2214, 1), Array(2270, 1), Array(2301, 1), Array(2304, 1), Array(2320, 1), Array(2324, 1), Array(2328, 1), Array(2409, 1), Array(2424, 1), Array(2435, 1), Array(2447, 1), Array(2451, 1), Array(2463, 1), _
Array(2463, 1), Array(2467, 1), Array(2479, 1), Array(2483, 1), Array(2495, 1), Array(2499, 1), _
Array(2508, 1), Array(2510, 1), Array(2515, 1), Array(2524, 1), Array(2536, 1), Array(2546, 1), Array(2550, 1), Array(2552, 1), Array(2554, 1), Array(2557, 1), Array(2560, 1), Array(2562, 1), Array(2576, 1), Array(2627, 1), Array(2683, 1), Array(2739, 1), Array(2795, 1), Array(2826, 1), Array(2829, 1), Array(2845, 1), Array(2850, 1), Array(2856, 1), Array(2872, 1), Array(2888, 1), Array(2894, 1), Array(2896, 1), Array(2898, 1), Array(2900, 1), Array(2912, 1), Array(2914, 1), Array(2926, 1), Array(2938, 1), Array(2950, 1), Array(2952, 1), Array(2964, 1), Array(2965, 1), Array(2966, 1), Array(2967, 1), Array(2969, 1), Array(2971, 1), Array(2973, 1), Array(2975, 1), Array(2977, 1), Array(2978, 1), Array(2979, 1), Array(2981, 1), Array(2982, 1), Array(2984, 1), Array(2985, 1), Array(2988, 1), Array(2990, 1), Array(2992, 1), Array(2994, 1), Array(2996, 1), Array(2998, 1), Array(3011, 1), Array(3024, 1), Array(3026, 1), Array(3029, 1), Array(3041, 1), _
Array(3045, 1), Array(3075, 1), Array(3101, 1), Array(3127, 1), Array(3178, 1), Array(3198, 1), Array(3209, 1), Array(3221, 1), Array(3222, 1), Array(3232, 1), Array(3233, 1), Array(3234, 1), Array(3252, 1), Array(3264, 1), Array(3276, 1), Array(3279, 1), Array(3281, 1), Array(3299, 1), Array(3311, 1), Array(3322, 1), Array(3333, 1), _
Array(3389, 1), Array(3445, 1), Array(3519, 1), Array(3532, 1), Array(3535, 1), Array(3551, 1), Array(3555, 1), Array(3559, 1), Array(3563, 1), Array(3576, 1), Array(3594, 1), Array(3606, 1), Array(3610, 1), Array(3612, 1), Array(3614, 1), Array(3626, 1), Array(3628, 1), Array(3630, 1), Array(3646, 1), _
Array(3660, 1), Array(3673, 1), Array(3675, 1), Array(3691, 1), Array(3703, 1), _
Array(3715, 1))
End Sub
[/VBA]
As you can see, this opens the text file and parses the fields into cells. However, I still have more data to parse from this one record up to position 3856. The problem is that the last cell populated with the above array is in column IV. Hence, my difficulty.
What I want to happen is find a way to continue parsing the data on the next row, which if you are just parsing one record would be row2, cell B1 and complete the record. My only difficulty is to get the parsing to continue on row 2 to complete the record.
In my example above, (Array(0, 1) is in cell A1, Array(1, 1) is in cell B1, all the way across the row until the last array element of Array(3715, 1)) which lands in cell IV1.
Element Array(3718, 1) should continue populating cells in column B1 until the rest of the record is parsed, then get the next record and start parsing it in C1. Hope this helps you.