|
▼JuJu さん、jakaさん、ハチさん:
こんばんは。
ハチさん
> たぶん、JuJuさんが質問されているのは、
>「行の挿入を検知できるか?」ということだと思います。
jujuさんも書いてますがバージョンによって動きが結構違う場合があるんですよ。
以前にあるシステムのイベント動作検証をしてまして、バージョンによる違い
を洗い出しで一苦労したことがあるんでです。
で、回答側の人でしたら何を質問したいのか、必要な情報は何か
必要性について書こうと思えばかけると思って書きました。
質問者側にも質問する見本にもなりますから。
余談ですが、OSでも違う場合があります。
Vistaの描画イベントと、XPの描画イベントの発生条件が違います。
> 実際やってみるとわかると思いますが、かなり難しいです。
> 再計算のイベントを検知する以外の方法で、
> なにか案がありますか?
前にも書きましたが、行挿入時にProcでどいうメッセージやりとりが
あるかフックしてパラメータコードから追いかけるしかないかなっと思いますが
他に追いかける方法がありますか?
後、簡単にはRow関数で開始位置と終了位置から割り出すのが
簡単な方法かなっと思いますが処理が重くなりそうですかね?
複数行挿入された場合(事前にSelectイベントで選択された行数を保持しつつ)
の対応としてはこうなるのかなっとしか今は思いつきません。
jujuさん
> 行列挿入時Changeイベントが発生しないのはExcel全般の仕様だと思っていたのですが、2003と2007ではChangeイベントが発生するようですね。
> 調査不足で申し訳ないです。
いえいえ、実際やってみてからわかることが結構ありますけどね。
行挿入も選択範囲でどれだけ範囲されるかなんてわかりませんから
挿入方法も行で選択されているかセルの列セル範囲で挿入される等
色々パターンがあるので、簡単に指定範囲だけの対応としてイベントを
組み合わせて対応することが多いです。
特に検証用のシートとかだとあまりこらないですぐに作成ができるような
ものとして必要とされる場合が多いですからそのあたりは、そんな感じに
なってしまってます。お役に立てなくてすみません。
> マクロの実行時間より、連番が常にあっていることが重要な作業なのです。
> 運用で逃げれたら良いのですが。
それは例えば、ソート用とかに常に正しくないとソート順序が正しくない
並びになるとかそいうこととかでしょうか?
|
|