Код Excel работает при отладке кода по коду, но не в целом - PullRequest
0 голосов
/ 13 ноября 2018

Я знаю, что эта проблема связана с тем, что Excel не получает достаточно времени для запуска линии и выполнения соответствующих вычислений. У меня вопрос, насколько функция сна поможет в этой ситуации? Или мне нужно использовать какие-то другие альтернативы? В моей системе код работает без каких-либо проблем и выполняет код в целом. Эта проблема возникает в другой системе. это почему? Улучшит ли ситуация обновление другой системы?

    Set source = ActiveWorkbook.Sheets("Raw Data")
            Set dest = ActiveWorkbook.Sheets("Filtered Data")
            dest.Activate
            dest.Range("A2:AD1048576").Delete
            source.Activate
            source.Range("A2:AD2").AutoFilter
            Sleep 2000
            If smu = "All" Then
                source.Range("A2:AD2").AutoFilter field:=7
            Else
                source.Range("A2:AD2").AutoFilter field:=7, Criteria1:=smu, Operator:=xlFilterValues
            End If
            If rgn = "All" Then
                source.Range("A2:AD2").AutoFilter field:=8
            Else
                source.Range("A2:AD2").AutoFilter field:=8, Criteria1:=rgn, Operator:=xlFilterValues
            End If
    Sleep 2000
            If InSec = "All" Then
                source.Range("A2:AD2").AutoFilter field:=9
            Else
                source.Range("A2:AD2").AutoFilter field:=9, Criteria1:=InSec, Operator:=xlFilterValues
            End If
            If market = "All" Then
                source.Range("A2:AD2").AutoFilter field:=10
            Else
                source.Range("A2:AD2").AutoFilter field:=10, Criteria1:=market, Operator:=xlFilterValues
            End If
Sleep 2000
            If bu = "All" Then
                source.Range("A2:AD2").AutoFilter field:=6
            Else
                source.Range("A2:AD2").AutoFilter field:=6, Criteria1:=subcomp, Operator:=xlFilterValues
            End If

            If look.Range("V1").Value = "PI-IT Advisory" Then
            source.Range("A2:AD2").AutoFilter field:=11, Criteria1:=subcomp, Operator:=xlFilterValues
            End If
            Sleep 2000
            lastraw = source.Range("A1048576").End(xlUp).Row
            Sleep 3000
            source.Range("A3:AD" & lastraw).SpecialCells(xlCellTypeVisible).Copy
            dest.Activate
            dest.Range("A2").PasteSpecial xlPasteValues
...