私の 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