Страницы: 1
RSS
как убрать ограничения по количеству строк
 
Добрый день! В отчете с количеством строк почти 18000 использую макрос по поиску частичного совпадения, но со строки 10600 макрос не срабатывает и просто подряд перетянул данные. Существует наверно какое то ограничение, раз перестал срабатывать макрос. Это как то в настройках или как изменить?
Пример приложить не получается, т.к. файл весит больше 100кб.  
 
Поздравляю с сотым сообщением! :)
Это такой кривой макрос, нужно его исправлять, в редакторе.
 
Скорее всего это в заложено в коде, нужен сам макрос или пример
 
Garni, макрос:
Код
Sub анализПрайса()
Dim i As Long
Dim iLastRow As Long
Dim FoundCell As Range
Dim Articul As String
Dim FAdr As String
Dim n As Integer
   iLastRow = Cells(Rows.Count, "C").End(xlUp).Row
   Range("G11:J" & iLastRow).ClearContents
With Worksheets("терминал1")
 For i = 12 To iLastRow
  If Not IsEmpty(Cells(i, "C")) Then
   Articul = Left(Cells(i, "C"), Len(Cells(i, "C")) - 3)
    Set FoundCell = .Columns(1).Find(Articul, , xlValues, xlPart)
     If Not FoundCell Is Nothing Then
       FAdr = FoundCell.Address
       n = 0
       Do
         .Range(.Cells(FoundCell.Row, "A"), .Cells(FoundCell.Row, "D")).Copy Cells(i + n, "G")
        'Cells(i, "G") = .Cells(FoundCell.Row, "D")  'цена
        Set FoundCell = .Columns(1).Find(Articul, after:=FoundCell)
        n = n + 1
       Loop While FoundCell.Address <> FAdr
     End If
  End If
 Next
End With
End Sub

Hugo, другие сообщения с этой проблемой я к сожалению не смогла найти. :(  
 
Код
iLastRow = Cells(Rows.Count, "C").End(xlUp).Row

В этой команде по столбцу С определяется последняя заполненная строка, после организуется цикл от с 12 строчки до вычисляемой в указанной команде. В документе посмотрите до какой строки имеются записи в столбце С, может в этом проблема
 
Garni, в столбце С почти 16000 заполненных строк (с пустыми нужными строчками между ними), а макрос даже после 16000 протянул просто список 1000 позиций... Не поняла, а как посмотреть? Или вы имеете ввиду, чтобы были какие то скрытые символы?
 
Попробуйте заменить 8-ю строчку на это:
Код
iLastRow = Cells(ActiveSheet.UsedRange.Rows.Count, "C").Row
Изменено: qwerrr - 03.08.2017 16:43:52
 
qwerrr, проверяете последнюю строку на каком-то листе, а ячейка - на активном...
 
vikttur, спасибо, исправил
 
qwerrr, вроде все работает как надо (все 16000 строк не смогла проверить). спасибо большое!  
 
Цитата
а макрос даже после 16000 протянул просто список 1000 позиций
Я вам в прошлой теме отвечал, что нужно посмотреть формат артикула, т.к. подозреваю,
что он отличен от вида 11110-2804015-00
 
Kuzmich, я читала ваш ответ и воспользовалась им. я проверила и форматы и заменила в макросе строчку и все сработало. спасибо!
Страницы: 1
Читают тему
Наверх