在我的程序中,我使用以下方法设置excel单元格的背景颜色:
sheet.cells(row, column).interior.color = System.Drawing.Color.Red
在我的程序的另一部分,我想看看颜色是否为红色,但是这段代码:
If(sheet.cells(row, column).interior.color = System.Drawing.Color.Red) Then
'Do something
End If
它返回'Type cast invalid'异常。
如果通过以下方式检查颜色:
If(sheet.cells(row, column).style.interior.color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red))
'Do something
End If
颜色据说不相等(即使单元格为红色),因为内部颜色为16777215,颜色转换器返回255.
如何以正确的方式比较颜色?
答案 0 :(得分:0)
我不确定,但在vba中不存在System.Drawing.Color.xxx。你可以试试这个:
ActiveSheet.Cells(row, column).Interior.Color = RGB(255, 0, 0)
If (ActiveSheet.Cells(row, column).Interior.Color = RGB(255, 0, 0)) Then
'Do something
End If
您还可以查看.Interior.ColorIndex
我认为你应该将问题的标签改为vba而不是vb.net。
最好的问候。