如果/ Else声明为图表

时间:2014-03-16 20:28:18

标签: vb.net excel mschart

所以,我已经在这个问题上坚持了这么多天了。我试图从Excel中的数据循环system.array。我使用if语句来读取excel中的数据值是否为数字。之后,我将elseif语句更改为图表标记样式,如果该值等于零。但是,无论我尝试何种方法,标记仍会显示在图表上。这是我的代码:

Dim A_GTRng As Excel.Range
Dim A_GTArry As System.Array

'Set the range
A_GTRng = excelWS.Range("I2", excelWS.Range("I2").End(Excel.XlDirection.xlDown))

'Read in the values of a range of cells
A_GTArry = CType(A_GTRng.Value, System.Array)

'Looping through the A_GTArry
    For x As Integer = 1 To A_GTArry.GetUpperBound(0)
        For y As Integer = 1 To A_GTArry.GetUpperBound(1)
            Dim A_GT As Object = A_GTArry(x, y)
            If IsNumeric(y).Equals(0) Then
                'Chart1.Series("A_GT").MarkerSize = 0
                'Chart1.Series("A_GT").MarkerColor = Color.Transparent
                Chart1.Series("A_GT").MarkerStyle = MarkerStyle.None
            ElseIf IsNumeric(y) Then
                'Chart1.Series("A_GT").Points.Dispose()
                Chart1.Series("A_GT").Points.AddY(A_GT)
                Chart1.Series("A_GT").MarkerStyle = MarkerStyle.Diamond
                Chart1.Series("A_GT").MarkerColor = Color.Red
                Chart1.Series("A_GT").MarkerSize = 7
            End If
        Next y
    Next x

以上程序的结果: enter image description here 任何人都可以检查我是否在某处犯了错误?我尝试过去几天解决这个问题,但确实得到了我想要的结果。我的脑子现在几乎要炒了。我真的需要帮助来解决这个问题。谢谢!

1 个答案:

答案 0 :(得分:0)

因为y在For循环中的定义是整数,所以它总是数字。

因此,这句话永远不会成功:

If IsNumeric(y).Equals(0) Then

你到底想要做什么?好像你已经离开了一点点。

ž