VBA применить формулу к столбцу, а затем покрасить ячейки на основе результатов формулы - PullRequest
0 голосов
/ 19 сентября 2018

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

Есть какие-либо идеи о том, как обеспечить применение формулы перед циклом For?

    lastRow = wb.Worksheets(1).Cells(Rows.Count, "A").End(xlUp).Row

        wb.Worksheets(1).Range("H2").Select
        ActiveCell.FormulaR1C1 = "=NOT(ISNA(MATCH(RC[-6],'\\netdrv00\pcps\PlannerReports\BSO Planners\New Automation Line\[_MyDataFilePrep.xlsm]CarrierDB'!C5:C5,0)))"
        Range("H2").Select
        Selection.AutoFill Destination:=Range("H2:H" & lastRow), Type:=xlFillDefault

    For j = wb.Worksheets(1).Cells(Rows.Count, "A").End(xlUp).Row To 2 Step -1
        If wb.Worksheets(1).Cells(j, "H") = True Then
            wb.Worksheets(1).Cells(j, "H").Interior.ColorIndex = 6
            Else: wb.Worksheets(1).Cells(j, "H").Interior.ColorIndex = 3
                End If

    Next j
...