0

私の Excel テンプレートの 1 つに、自動化されたテーブルから取得したデータを自動入力するプリセット チャートがあります。

それはすべてうまくいきます。私が問題を抱えている部分は、コードの後半でそのチャートを参照する方法です。

私が収集できる最善の方法は、Main.xlBook.Charts(6) のようなものを使用することです。ここで、6 は xlBook のグラフのインデックスです。

    Dim chart As Excel.Chart = CType(Main.xlBook.Charts(6), Excel.Chart)
    chart.Axes(Excel.XlCategoryType.xlTimeScale).MinimumScale = Main.xLSheet1.Cells(2, 1).value / 86277
    chart.Axes(Excel.XlCategoryType.xlTimeScale).MaximumScale = Main.xLSheet1.Cells(radios.Count + 1, 1).value / 86277

上記のコードを使用すると、オブジェクトを設定しようとすると壊れます。ほとんどの場合、チャートをまったく編集する必要がないため、実行時にチャートを作成したくありません。私が自動化した方法では、95% の確率で正しく入力されます。残りの 5% の範囲を調整できるようにする必要があるだけです。

実行時に作成されていない xlbook のチャート オブジェクトを参照する方法はありますか?

ps、おまけの2番目の質問として、オプションstrictをオンにして軸を変更するにはどうすればよいですか? (私が現在持っている方法は、オプションの厳密なフレンドリーではありません)

いつもありがとうみんな


アップデート


理解した

    Dim xlCharts As Excel.ChartObjects = CType(Main.xlSheet3.ChartObjects, Excel.ChartObjects)
    Dim myChart As Excel.ChartObject = xlCharts.Item(5)
    Dim chartPage As Excel.Chart = myChart.Chart
    chartPage.Axes(Excel.XlAxisType.xlCategory).minimumscale = Main.xLSheet1.Cells(2, 1).value
    chartPage.Axes(Excel.XlAxisType.xlCategory).maximumscale = Main.xLSheet1.Cells(radios.Count + 1, 1).value
4

2 に答える 2