0

私は次のデータを持っています

Name Date      Number_of_apples
-------------------------------
abc  1-1-2012  5
abc  2-1-2012  3
xyz  1-1-2012  4
xyz  2-1-2012  2
xyz  3-1-2012  6

上記のデータを表す 2D 折れ線グラフを Excel でプロットしたいと考えています。

グラフにDateは X 軸とNumber of applesY 軸が含まれている必要があります。

name のプロット例abc:

ここに画像の説明を入力

名前の選択に応じて、その名前のデータを表すようにグラフが更新されます。

4

1 に答える 1

1

これは私にとってはうまくいきました。いくつかのメモ:

  1. Worksheetこのコードはモジュールに配置する必要があります
  2. チャートを更新するには、name列の名前 (「xyz」、「abc」など)をクリックするだけです。
  3. チャートが存在しない場合は、最初にチャートを作成してから、同じチャートを更新します。

コードは次のとおりです。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("A:A")) Is Nothing Then
        UpdateChart Target
    End If
End Sub

Sub UpdateChart(name As Range)
    Dim startRow As Integer, lastRow As Integer
    Dim namerng As Range, data As Range, applechart As ChartObject

    Set namerng = Range("A1:A" & Range("A1").End(xlDown).Row)

    startRow = WorksheetFunction.Match(name.Value, namerng, 0)
    lastRow = startRow + WorksheetFunction.CountIf(namerng, name.Value) - 1

    On Error Resume Next
    Set applechart = ActiveSheet.ChartObjects("AppleChart")
    Set data = Range("B" & startRow & ":C" & lastRow)

    If Not applechart Is Nothing Then
        applechart.Activate
        ActiveChart.SetSourceData Source:=data
    Else
        ActiveSheet.Shapes.AddChart.Select
        ActiveSheet.ChartObjects(1).name = "AppleChart"
        ActiveChart.ChartType = xlLine
        ActiveChart.SetSourceData Source:=data
    End If
End Sub

編集:Excelでの設定方法

  1. Excel でALT+を押しF11ます。これにより、VBA エディターが開きます
  2. 左側のプロジェクト ウィンドウで、データが保持されているワークシート (Sheet1 など) をクリックします。
  3. 左側のドロップダウンで選択Worksheet
  4. 右側のドロップダウンで選択SelectionChange
  5. コードを切り取って貼り付ける

注 - データは列 A から始まると想定しています。そうでない場合は、コード内の列参照を自分で修正する必要があります。

于 2012-12-19T17:25:17.793 に答える