Страницы: 1
RSS
OverFlow
 
Всем привет. Значит, такая ситуация, Написал программу, алгоритм работает верно. Обрабатываеться более 70% документа и потом вдруг раз и ошибка OverFlow. К сожалению документ для примера выложить не могу, информация конфидициальная, могу выложить только текст программы:  
 
Sub Preobrazovanie()  
   Dim First As Integer  
   Dim FirstRange As Range  
   Dim WorkRange As Range  
   Dim WorkCount As Single  
   Application.ScreenUpdating = False  
   Sheets("Результат").Cells.Delete Shift:=xlUp  
   WorkCount = Sheets("Исходные данные").UsedRange.Rows.Count  
   Set WorkRange = Sheets("Исходные данные").Range(Cells(1, 1), Cells(WorkCount, 1))  
   Set FirstRange = WorkRange.Find("СекцияДокумент=Платежное поручение", , , xlWhole, , xNext)  
   First = FirstRange.Row  
   i = 1  
   Call ZapolnenieMASS  
   Do While Sheets("Исходные данные").Cells(First + 37 * (i - 1), 1) = "СекцияДокумент=Платежное поручение"  
       Call Zapolnenie(First + 37 * (i - 1))  
       i = i + 1  
   Loop  
   Rows("1:1").Insert Shift:=xlDown  
   Call Zagolovok  
   Application.ScreenUpdating = True  
End Sub  
Public Sub Zapolnenie(p As Integer)  
  Dim k As Integer  
  Dim c As Integer  
  Dim Str As String  
   For k = 1 To 35  
   c = Len(MASS(k)) + 2  
   Str = Sheets("Исходные данные").Cells(p + k, 1)  
   Sheets("Результат").Cells(i, k) = Mid(Str, c)  
   Next k  
End Sub  
Public Sub ZapolnenieMASS()  
   MASS(1) = "Номер"  
   MASS(2) = "Дата"  
   MASS(3) = "Сумма"  
   MASS(4) = "ПлательщикСчет"  
   MASS(5) = "ПлательщикИНН"  
   MASS(6) = "ПлательщикКПП"  
   MASS(7) = "Плательщик1"  
   MASS(8) = "ПлательщикРасчСчет"  
   MASS(9) = "ПлательщикБанк1"  
   MASS(10) = "ПлательщикБанк2"  
   MASS(11) = "ПлательщикБИК"  
   MASS(12) = "ПлательщикКорсчет"  
   MASS(13) = "ПолучательСчет"  
   MASS(14) = "ДатаПоступило"  
   MASS(15) = "ПолучательИНН"  
   MASS(16) = "ПолучательКПП"  
   MASS(17) = "Получатель1"  
   MASS(18) = "ПолучательКорсчет"  
   MASS(19) = "ПолучательБанк1"  
   MASS(20) = "ПолучательБанк2"  
   MASS(21) = "ПолучательБИК"  
   MASS(22) = "ПолучательКорсчет"  
   MASS(23) = "ВидПлатежа"  
   MASS(24) = "ВидОплаты"  
   MASS(25) = "СтатусСоставителя"  
   MASS(26) = "ПоказательКБК"  
   MASS(27) = "ОКАТО"  
   MASS(28) = "ПоказательОснования"  
   MASS(29) = "ПоказательПериода"  
   MASS(30) = "ПоказательНомера"  
   MASS(31) = "ПоказательДаты"  
   MASS(32) = "ПоказательТипа"  
   MASS(33) = "СрокПлатежа"  
   MASS(34) = "Очередность"  
   MASS(35) = "НазначениеПлатежа"  
End Sub
 
Попробуйте  
Dim First As Long  
Кто знает, сколько там рядов...
 
Матом ругать себя хотел!!! действительно, у меня строк 40!!! Спасибо
Страницы: 1
Читают тему
Наверх