所以,我已经在这个问题上坚持了这么多天了。我试图从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
以上程序的结果: 任何人都可以检查我是否在某处犯了错误?我尝试过去几天解决这个问题,但确实得到了我想要的结果。我的脑子现在几乎要炒了。我真的需要帮助来解决这个问题。谢谢!
答案 0 :(得分:0)
因为y在For循环中的定义是整数,所以它总是数字。
因此,这句话永远不会成功:
If IsNumeric(y).Equals(0) Then
你到底想要做什么?好像你已经离开了一点点。
ž