Excel将workSheet.Cells(rowIndex,columnIndex)识别为范围

时间:2018-04-19 10:49:10

标签: excel vb.net visual-studio

我试图根据男性/女性类型为优秀细胞着色。我正在比较单元格值,以便在Excel抛出此异常时知道我必须应用哪种样式:

  

"价值观"成员无法在" Range"型

就在这一行:If wSheet.Cells(rowIndex, MFindex).Values = "MALE" Then

这是我尝试过的:

For Each dr In dt.Rows
            rowIndex += 1
            If wSheet.Cells(rowIndex, mfIndex).Values = "MALE" Then
                wSheet.Range(range).Style = "Male"
            ElseIf wSheet.Cells(rowIndex, mfIndex).Values = "FEMALE" Then
                wSheet.Range(range).Style = "Female"
            End If
Next

前几行我做了这个并且工作正常:

If wSheet.Cells(rowIndex, 1).Value = wSheet.Cells(rowIndex + 1, 1).Value Then

Var range包含该行的范围(它是一个简化,不要问它。它与异常无关。)

我还告诉你mfIndex是男性/女性细胞的列索引

我从dt as DataTable创建了Excel工作表,因此它们的行数和列数相同。

我检查了rowIndexmfIndex,其值为rowIndex = 1mfIndex = 26

我正在使用Visual Studio 2008并处理.xlsx文件

为什么Excel会抛出异常?我做错了什么?

1 个答案:

答案 0 :(得分:1)

您需要使用:

If wSheet.Cells(rowIndex, MFindex).Value = "MALE" Then

请注意,它是Value而不是Values。 :)