Excel Loop Workflow - PullRequest
       0

Excel Loop Workflow

0 голосов
/ 27 сентября 2018

Я просто хочу спросить о том, как работает рабочий цикл и почему мой код не работает.

В основном мне нужно выполнить цикл, чтобы создать сводную таблицу данных из каждой рабочей таблицы в рабочей книге.

WS_Count = ActiveWorkbook.Worksheets.Count
For i = 1 To WS_Count
    lastRow = Range("IB" & Rows.Count).End(xlUp).Row
    ActiveCell.FormulaR1C1 = "=IF(AND(RC[-1]<=2,RC[-1]>=0),""Ok"",""Failed"")"
    Range("ID2").Select
    Selection.AutoFill Destination:=Range("ID2:ID" & lastRow)
    If i Mod 2 = 0 Then
        SrcData = ActiveSheet.Name & "!" & Range("A1:IF" & lastRow) _
            .Address(ReferenceStyle:=xlR1C1)
        Set sht = Sheets.Add
        StartPvt = sht.Name & "!" & sht.Range("A1:C3") _
            .Address(ReferenceStyle:=x1R1C1)
        Set pvtCache = ActiveWorkbook.PivotCaches _
            .Create(SourceType:=xlDatabase, SourceData:=SrcData)
        Set pvt = pvtCache.CreatePivotTable(TableDestination:=StartPvt, _
            TableName:="PivotTable1")
End if
Next i

Что происходит с моим кодом, так это то, что этот цикл назначает все, что я хотел назначить, используя эту формулу, но для части IF он всегда выполняет код.Таким образом, после третьего цикла будет выдано сообщение об ошибке, в котором говорится, что источник сводной сводки не определен, поскольку таблица ActiveSheet пуста и в ней нет данных.

Что мне нужно, так это мой код, верно?Или как заставить оператор IF работать, только если он правильный?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...