[英]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.