3

そのため、6 つのシリーズを含むグラフがあり、一連の ActiveX チェック ボックスを使用して各シリーズを表示または非表示にできるようにしたいと考えています。これまでのところ、チェック ボックスは正常に機能しているようですが、個々のシリーズを非表示にする方法がわかりません。シリーズを非表示にするために使用できるシリーズのプロパティはありますか? Google と Microsoft のヘルプが役に立ちません。

(いや、無い訳ではないですが…)

どんな助けでも大歓迎です。

4

5 に答える 5

6

アップデート

待ってください、私は過去にこれに出くわしたことを覚えています。必要なデータを非表示にする良い方法は、グラフ化されているデータの実際の行/列を非表示にすることです。したがって、ActiveX コントロールはグラフに触れませんが、グラフ データの列/行を非表示/非表示にします。

表示する必要がある他のデータに干渉しないようにチャート データを設定する必要があります。

誰かの利益のために私の元の答えを残します...

マクロを記録して遊んでみました...

この素晴らしい結果を得ました:

ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.SeriesCollection(1).Select

'Turn it on
Selection.Format.Line.Visible = msoTrue
'Turn it off
Selection.Format.Line.Visible = msoFalse

No Lineこれは、[データ系列の書式設定] ダイアログ ボックスの [線の色] セクションで選択することと同じです。

于 2012-12-14T20:42:49.353 に答える
2

Excel で行き詰まったときは、WWBGD のようにマクロを記録してみます。(ビル・ゲイツならどうする?)

塗りつぶしを「なし」に設定した棒グラフの結果は次のとおりです。

ActiveSheet.ChartObjects("Chart 1").Activate
ActiveChart.SeriesCollection(1).Select
Selection.Format.Fill.Visible = msoFalse

それは役に立ちますか?

于 2012-12-14T20:37:02.093 に答える
1

Excel 2013 では、セリエを非表示にしたり、凡例から取り出したりするには、フィルター オプションを使用します。VBA の例:

次のコードは、チャートのアウト/インでフィルター処理することにより、シリーズを非表示/復元します。ActiveSheet.ChartObjects("グラフ 1").Chart.FullSeriesCollection(1).IsFiltered = True / False

これは、リボン コマンド [デザイン] + [データの選択] (文字が選択されている場合に使用可能) を使用して、一連のイン/アウトを手動でフィルタリングすることと同じです。

ダッシュの色、マーカーなどのすべてのシリーズ オプションは変更されずに復元されます。

于 2015-04-23T18:14:21.050 に答える
1

の場合、上記の2つはうまくいきませんでしChartType = xlLineMarkersた。うまくいったのは:

For Each mySeries In .SeriesCollection
    With mySeries
        .Border.LineStyle = xlNone
        .MarkerStyle = xlNone            
        .MarkerBackgroundColorIndex = xlColorIndexNone
    End With
Next

ただし、凡例には引き続き線が表示されます。そのエントリを個別に削除する必要があります。

于 2013-05-15T20:54:07.257 に答える