VBA将公式应用于列,然后根据公式结果对单元格进行着色

时间:2018-09-18 21:52:26

标签: vba colors formula

因此,我有一个程序可循环浏览文件夹中的所有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

0 个答案:

没有答案