繁体   English   中英

根据另一张纸上的值更改单元格的颜色?

[英]Change color of cells based on value from another sheet?

我正在尝试根据其他表格的值更改单元格的颜色

Sub ColoredOutlier()

    Dim i As Integer, j As Integer, x As Integer

    For i = 1 To 50

        For j = 2 To 23

            If IsEmpty(Worksheets("outlier_index").Cells(i, j)) Then Exit For

            x = Worksheets("outlier_index").Cells(i, j).Value

            Worksheets("Sheet2").Cells(x+1, i).Interior.ColorIndex = 3  

        Next j   

   Next i  

End Sub

当我在上面运行这些代码时,由于出现“类型不匹配”错误,

x = Worksheets(“ outlier_index”)。Cells(i,j).Value

有人可以帮我解决我的问题吗?

X应该是一个字符串。 单元格中的值将存储为String。 并且x不应在此处使用。

Worksheets("Sheet2").Cells(i, x).Interior.ColorIndex = 3

它应该是

Worksheets("Sheet2").Cells(i, j).Interior.ColorIndex = 3

全部一起:

Sub ColoredOutlier()
Dim i As Integer, j As Integer, x As String

For i = 1 To 50

    For j = 2 To 23

        If IsEmpty(Worksheets("outlier_index").Cells(i, j)) Then Exit For

        x = Worksheets("outlier_index").Cells(i, j).Value
        Worksheets("Sheet2").Cells(i, j).Interior.ColorIndex = 3

    Next j

Next i

End Sub

如上所述,当单元格的值不是整数时,可能会发生类型不匹配错误。

您可以轻松地修改代码以跳过包含字符串的单元格:

If IsEmpty(Worksheets("outlier_index").Cells(i, j)) Or Not _ 
IsNumeric(Worksheets("outlier_index").Cells(i, j)) Then Exit For

如果工作表中也有非整数,则可能需要进一步修改。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM