1 つのシートにコンパイルされたデータを取得するために、他のいくつかのスプレッドシートにリンクするスプレッドシートがあります。このデータをグラフ化するためにシートを修正する任務を負っています。個人のレポートには、月ごとに 12 スロットの行があります。人がその月に働いていた場合、その月は適切なスロットに表示されます。グラフでは、動的な名前範囲を使用して、グラフの月数が線に存在する月数と等しくなるようにしました。唯一の問題は、人が開始した月に基づいて開始点が変わることです。
入れ子になったかなり大きな if ステートメントを作成することはできますが、それは私の問題を解決するための良い方法とは思えません。VBA スクリプトで動的な名前範囲の値を変更したり、グラフの値を直接変更したりする方法はありますか? これが実行可能なオプションではない場合、動的な名前付き範囲以外にこの問題に対処する方法はありますか?
このレポート シートは仕事に関連するスプレッドシートであるため、レポート シートの動作を変更することはできません。私は単にグラフ機能を追加しようとしています。
例:
https://www.dropbox.com/s/zn6yt4l6kjvwq33/Example1.xlsx https://www.dropbox.com/s/j88tgoik68s4lhx/Example2.xlsx
最初の例では、エージェント名の横にあるドロップボックスから「2 番目」を選択した場合の問題の例を示しています。グラフに無意味なデータが含まれています。
2 番目の例では、グラフで使用される動的な名前付き範囲に if ステートメントを追加することで問題を解決しました。しかし、ご覧のとおり、2 か月を含めると膨大になり、12 か月すべてを含めることはほぼ不可能です。3 月に開始した 3 番目の人を追加すると、2 番目の例でも機能しなくなります。
動的な名前の範囲の値を VBA で変更できるようにする方法はありますか? VBA を使用してグラフの値を直接変更できますか? VBA を使わずにこの問題を回避する方法はありますか?
ありがとう。