0

マクロを使用して Excel で自動 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 の場合、コードは停止します。

よろしく、

ジティス

4

3 に答える 3

1

4,5 と入力すると同じエラーが表示されますが、4.5 と入力すると表示されません。

小数点区切り記号を変更して、それが機能するかどうかを確認してください。あなたのシートは、3 桁および 10 進数の区切り記号に対して異なる国際的な番号付け方法が設定されている別の国からのものである可能性があります。

詳細については、このリンクを参照してください。

于 2013-09-28T23:55:12.593 に答える
1

シリーズの定義を、文字列ではなく配列で定義するように変更してみてください。

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

これにより、地域設定に関する潜在的な問題を回避できる可能性があります。

于 2013-09-29T12:56:22.667 に答える
0

X 変数と Z 変数を文字列として宣言すると役立つ場合があります。Excel がコンマをピリオドに、またはその逆に変換している可能性があります。

于 2013-09-29T06:33:19.217 に答える