xlXYScatterLines图表

我正在尝试在Excel中使用macros编写自动xlXYScatterLines图表生成的vba代码。 这是我的代码:

Sub GenerateChart() With Charts.Add .ChartType = xlXYScatterLines .Location Where:=xlLocationAsNewSheet .HasLegend = True Sheets("Members").Activate For A = Range("A" & Rows.Count).End(xlUp).Row To 1 Step -1 Set member = Rows(A).Columns(1) If (member.Offset(0, 3)) = (member.Offset(0, 7)) And A <> 1 Then X1 = Rows(A).Columns(3) X2 = Rows(A).Columns(7) Z1 = Rows(A).Columns(5) Z2 = Rows(A).Columns(9) With .SeriesCollection.NewSeries .XValues = "={" & (X1) & ";" & (X2) & "}" .Values = "={" & (Z1) & ";" & (Z2) & "}" .Name = member End With End If Next A End With End Sub 

当所有的X和Z都是完整的数字(没有逗号)时,代码工作正常,但是当X1,X2,Z1或者Z2是例如4,5时代码停止。任何人都可以帮助解决这个问题吗?

问候,

Gytis

您可以尝试更改由数组而不是string定义的系列定义:

 .XValues = Array(X1, X2) .Values = Array(Z1, Z2) 

这可能会避免区域设置的潜在问题。

input4,5时出现同样的错误,但input4.5时却没有

改变你的小数点分隔符,看看它是否工作。 您的工作表可能来自另一个国家来源,它是为成千上万的小数分隔符设置不同的国际编号方法。

请参阅此链接了解更多信息。

将X和Zvariables声明为string可能会有帮助。 Excel可能会将逗号转换为句点,反之亦然。