2

Excelグラフでデータを非表示の行にプロットできるが、非表示の列にはプロットできないようにする方法はありますか?グラフを右クリックして[データの選択]オプションを使用して[非表示のセルと空のセル]オプションに移動する方法をすでに知っています。このオプションでは、[非表示の行と列にデータを表示する]を選択できます。ただし、非表示の列にデータを表示せずに非表示の行にデータを表示する方法を見つけることができず、誰かがVBAソリューションを提案できる可能性があることを望んでいました。

どうもありがとう、

ジェフ

4

1 に答える 1

0

私はあなたのためにこれを太鼓で叩きました。注意点として、グラフの操作は非常に難しい場合があります。このコードは、特定の種類のグラフでのみ機能します。特定のデータ セットを操作するには、いくつかの調整が必要になる場合があります。

Option Explicit

Sub RemoveHiddenColumns()

Dim myChart As ChartObject
Set myChart = ActiveSheet.ChartObjects("Chart 1") 'place in here whichever chart you need to reference, asssumes the chart is on the activesheet

myChart.Activate 'first activate the chart

Dim i As Integer

For i = 1 To ActiveChart.SeriesCollection.Count 'loop through each series

    Dim strText As String, strCol As String, strSht As String, intCol As Integer

    strText = Split(ActiveChart.SeriesCollection(i).Formula, ",")(2) 'extract sheet name and column of series
    strSht = Split(strText, "!")(0) 'get sheet name of series
    strCol = Split(strText, "!")(1) 'get column range of series

    Dim wks As Worksheet
    Set wks = Worksheets(strSht)

    If wks.Range(strCol).EntireColumn.Hidden = True Then 'if the column is hidden
        ActiveChart.SeriesCollection(i).Delete 'remove the series
    End If

Next


End Sub
于 2012-06-26T21:26:31.977 に答える