Здравствуйте! Подскажите пожалуйста пользовался макросом дописывал его изменял, все нормально работало. В исходных данных таблицы файла тхт появилась еще одна колонка. Никак не могу разобраться почему не работает. Помогите пожалуйста!
Sub Факт()
Dim f, strText, arr, a()
Dim i As Long, ii As Long, lCount As Long
Set f = CreateObject("Scripting.FileSystemObject").OpenTextFile("C:\raspred\fakt.TXT", 1)
strText = f.ReadAll
f.Close
Set f = Nothing
arr = Split(strText, Chr(10))
strText = Empty
lCount = UBound(arr)
ReDim a(1 To lCount + 1, 1 To 5)
'(нужен столбец 8; 10; 13)
For i = 0 To lCount
If IsNumeric(Mid(arr(i), 53, 5)) Then
ii = ii + 1
a(ii, 1) = Trim(Mid(arr(i), 23, 7))
a(ii, 2) = Trim(Mid(arr(i), 17, 5))
a(ii, 3) = Mid(arr(i), 53, 16)
a(ii, 3) = Replace(a(ii, 3), "-", "")
a(ii, 4) = Trim(Mid(arr(i), 88, 6))
a(ii, 5) = Trim(Mid(arr(i), 109, 6))
End If
Next
Erase arr
Columns(3).NumberFormat = "0"
[a1].Resize(ii, UBound(a, 2)).Value = a 'выгружаем результат
Columns(3).AutoFit
End Sub
Sub Факт()
Dim f, strText, arr, a()
Dim i As Long, ii As Long, lCount As Long
Set f = CreateObject("Scripting.FileSystemObject").OpenTextFile("C:\raspred\fakt.TXT", 1)
strText = f.ReadAll
f.Close
Set f = Nothing
arr = Split(strText, Chr(10))
strText = Empty
lCount = UBound(arr)
ReDim a(1 To lCount + 1, 1 To 5)
'(нужен столбец 8; 10; 13)
For i = 0 To lCount
If IsNumeric(Mid(arr(i), 53, 5)) Then
ii = ii + 1
a(ii, 1) = Trim(Mid(arr(i), 23, 7))
a(ii, 2) = Trim(Mid(arr(i), 17, 5))
a(ii, 3) = Mid(arr(i), 53, 16)
a(ii, 3) = Replace(a(ii, 3), "-", "")
a(ii, 4) = Trim(Mid(arr(i), 88, 6))
a(ii, 5) = Trim(Mid(arr(i), 109, 6))
End If
Next
Erase arr
Columns(3).NumberFormat = "0"
[a1].Resize(ii, UBound(a, 2)).Value = a 'выгружаем результат
Columns(3).AutoFit
End Sub