1

現在、ユーザーがスプレッドシートのボタンを押すだけでグラフにデータを入力しようとしています。私が抱えている問題は、データをデータシートにコピーするためのボタンが必要なことです。そうすると、チャートがデータシートから入力されます。私はこれを行うことができますが、enteであるすべての新しいデータに対してチャート上に作成された新しいシリーズが必要です

Sub RoundedRectangle2_Click()

End Sub


Sub MAPS()
Sheets("MAPS_FORM").Range("e47").Copy
Sheets("Data_Sheet").Range("b65536").End(xlUp).Offset(1, 0).PasteSpecial _
Paste:=xlPasteValues
Application.CutCopyMode = False
Sheets("MAPS_FORM").Range("d2").Copy
Sheets("Data_Sheet").Range("a65536").End(xlUp).Offset(1, 0).PasteSpecial _
Paste:=xlPasteValues
Application.CutCopyMode = False



Sheets("Data_Sheet").Range("b2:b46").Copy
Charts("Chart1").SeriesCollection.Paste

Range("e6:i8").ClearContents
Range("e12:i19").ClearContents
Range("e23:i27").ClearContents
Range("e31:i36").ClearContents
Range("e40:i43").ClearContents
Range("d2").ClearContents
Sheets("Data_Sheet").Select
End Sub
4

1 に答える 1

1

.SetSourceDataデータを追加した後、プロパティを変更するだけです。

例を見てみましょう

データがA1:A5元のもので、グラフがその範囲に基づいているとしましょう。以下のスクリーンショットを参照してください

ここに画像の説明を入力

追加したデータがからB1:B5のもので、それをチャートにシリーズとして表示したい場合は、このコードを使用するだけです

Option Explicit

'~~> Please amend the code as applicable
Sub Sample()
    Dim objChrt As ChartObject
    Dim chrt As Chart

    Set objChrt = ActiveSheet.ChartObjects("Chart 1")
    Set chrt = objChrt.Chart

    With chrt
        .SetSourceData (ActiveSheet.Range("A1:B5"))
    End With
End Sub

コードを実行すると、チャートに新しいシリーズが自動的に表示されます。

ここに画像の説明を入力

于 2013-02-15T15:54:13.713 に答える