Страницы: 1
RSS
Макрос досрочно досрочно прекращает выполнение, Макрос прекращает выполнение не отработав до конца.
 
Добрый день,

Суть проблемы в следующем: макрос1 вызывает макрос2 и передает ему значения: массив с исходными данными, папку для сохранения данных.
При выполнении  доходит до цикла и на любой из строчек вниутри цикла прерывается, выходит в исходный макрос. Никаких ошибок не выдает. Переменные книги, листов, массивов в макросах не совпадают, кроме i и j. До этого отрабатывался нормально.
Код
Sub GetRequestForDuty(ByVal ArrZU As Variant, ByVal SavePath As String)
Dim wb5 As Workbook
Dim sh51 As Worksheet
Dim i As Long, j As Long, zL As Long, zU As Long, nSheet As Long, stRow As Long
Dim ArrZ1 As Variant
Dim stFL As String
Dim sSum As Double
Set wb5 = Workbooks.Add(1)
wb5.SaveAs Filename:=SavePath & "\Книга1", FileFormat:=51
nSheet = 0
zL = LBound(ArrZU)
Do While zL <= UBound(ArrZU)
    stFL = ""
    nSheet = nSheet + 1
    Set sh51 = wb5.Worksheets.Add
    sh51.Name = "отчет_" & nSheet
    sSum = 0
    zU = zL + 29
    If zU > UBound(ArrZU) Then
        zU = UBound(ArrZU)
    End If
    ReDim ArrZ1(1 To 5, 1 To zU - zL + 1)
    j = LBound(ArrZ1)
    For i = zL To zU
        ArrZ1(j, 1) = j
        ArrZ1(j, 2) = ArrZU(i, 2)
        ArrZ1(j, 3) = "текст"
        ArrZ1(j, 4) = ArrZU(i, 3)
        ArrZ1(j, 5) = "текст"
        stFL = stFL & CStr(ArrZ1(j, 2)) & ", "
        sSum = sSum + CDbl(ArrZ1(j, 4))
        j = j + 1
    Next i
 
Цитата
Michael_K написал:
макрос1 вызывает макрос2
не нашел ни 1, ни 2. Какой-то выдранный откуда-то кусок кода и не более. Какую помощь ожидаете получить с такими исходными данными?
Цитата
Michael_K написал:
доходит до цикла
До какого из двух?

Я могу лишь по опыту сказать - ошибка все же происходит и поэтому из второго макроса выкидывает в вызвавший. а то, что обработки ошибок нет - если её нет в макросе 2, но есть макрос 1 - то это как раз приводит к подобному поведению. Но т.к. мы макрос 1(или 2) не видим - советовать ничего не можем.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Страницы: 1
Наверх