Страницы: 1
RSS
Error 6 Overflow при передаче диапазона в массив!
 
ecть код  
'----------  
    Dim RFP As Object  
    Dim basebookname As String  
    Dim rowmax As Long  
    Dim massiv As Variant  
 
      basebookname = ThisWorkbook.Name  
      Set RFP = Workbooks(basebookname).Sheets("RFP")  
 
   rowmax = RFP.Cells(RFP.Rows.Count, 5).End(xlUp).Row  
 
  'и тут ошибка!  
   massiv= Range(RFP.Cells(7, 5), RFP.Cells(rowmax, 27)) 'rowmax = 1300  
 
код чудесно работал, пока в один прекрасный момент после манимуляций пользователя с файлом (к проэкту у него нет доступа) появилась ошибка в месте, где я в    
переменную massiv загоняю диапазон. до этого код чудно работал с этими-же данными. в чём же проблема?  
 
выяснил:  
 
err.number = 6  
err.description = "overflow"  
err.source = VbaProject  
 
ps office 2007 и 2010 выдают такую ошибку.
 
попробуйте изменить строку:  
massiv= Range(RFP.Cells(7, 5), RFP.Cells(rowmax, 27))  
на:  
massiv= RFP.Range(RFP.Cells(7, 5), RFP.Cells(rowmax, 27))
Редко но метко ...
 
и такое пробывал. но увы((  
 
и такое тоже пробывал  
 
massiv = RFP.Range(RFP.Cells(7, 5), RFP.Cells(rowmax, 27)).Value  
 
макрос работал. и перестал. ни строчки кода не изменилось, но появился оверфло(  
 
не хочется загонять в массив поячеечно.
 
Как вариант не хватает памяти, попробуйте для эксперимента вот так:  
massiv = RFP.Range(RFP.Cells(7, 5), RFP.Cells(rowmax, 5)).Value
Редко но метко ...
 
вроде получилось вот так!)  
massiv = RFP.Range(RFP.Cells(7, 5), RFP.Cells(rowmax, 5)).Value2  
 
правда не помню, чем от обычного Value отличается...  
 
GIG_ant, спасибо за участие! ато совсем отчаился. надеюсь больше ошибка не вылезет. думаю не в памяти дело. а в глюке вб. потому что я взял старую версию (бэкапы делаю часто) своего файла. к-я несущественно отличается от новой версии. а код один в один. и там работает. в новой нет.
Страницы: 1
Читают тему
Наверх