|
▼たけ さん:
こんにちは
>●シートは3つ
>入力用シート(サンプルコードでのsheet1に相当)
>集計用シート
>反映シート(サンプルコードでの反映シートに相当)
>●入力手順とコードを使う場所、タイミング
>
>1.入力用のシートに回収したデータを横並びで入力していきます。
>
>2.データには集計されるグループが決められており、グループ毎のデータが、集計用シートに集計されていきます。
>(入力用に1-1,1-2,1-3,2-1,2-2,2-3のようになっており、1のグループ、2のグループ毎にまとめられた集計となります)
>
>3.反映シートにはオートシェイプの図があり、あるグループの入力値に応じて、その図に色が塗られます。
>(例えば、2のグループのデータにおいて、2-1の値が1だった場合、2だった場合、3だった場合として、
>1ならシェイプpp001が、2ならpp002が、3ならpp001とpp002の両方が塗りつぶされるような仕組みです)
この説明では、1つのデータグループを入力し終わった時点で、シェイプを操作
したいのか、それとも、全てのグループを入力し終わってかの判断は出来ませんね。
それで、やり方も変わってくるんじゃないですか?
>上記のような動きとなります。
>なお、1つのデータを横並びで入力しますので、データ数(データID)が増える=行が増えるため、
>今回のコードで参照される列の範囲は固定された状態となります。なお、参照される範囲は、
>Range("F4:I4")からはじまり、データ数が増えるごとにF5,I5、F6,I6と変化します。
これも、又情報不足ですね。その情報により、rangeオブジェクトのCurrentRegionメソッドとか、endプロパティ
を使用するとかその情報により変わってくるんじゃないですか?、
>また不足な点がありましたら、ご指摘ください。
あの〜私は質問に対しては出来るだけ協力しますが、質問者さんに、積極的に
仕様の説明を求めてまでは書きたくないのでその点、悪しからず。
最初にお断りしてますが、そのものズバリは書きません。
仕様、大まかな処理の手順は自分で考えるものです。
仕様、大まかな処理の手順を実現するための手法なら質問するのも良いでしょうが。
でないと後で自分か困る事になるからです。
想像するに、頭だけで考えて、いきなりプログラムを書こうとしているんじゃないかと思います。
今回のような小さなプログラムですと、慣れればそれで充分ですが、慣れないと、出来ません。
予め、処理の手順を整理する事をお勧めします。
飽くまで、具体的な(できればピンポイント)質問が好ましいです。
|
|