- - PR -
Excel2000 VBAにてシートの行削除判断
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-03-01 09:19
Excel2000のVBAにてシートの行を削除した時に
マクロを実行させるにはどの様にすればいいのでしょうか?? 現在判断としているイベント--------------------------------- Private Sub Worksheet_Change(ByVal Target As Range) End Sub ----------------------------------------------------------- ActiveCell.Addressで情報を取得すると「$A$10」と言う情報しか返ってこない為、 本当に行が削除されたかが判断つきませんでした。。。。 | ||||
|
投稿日時: 2006-03-01 10:43
そういったイベントはないので、自分で監視 && 解析する必要があります。 行を削除した場合に何かをするのって、再計算などだと思うのですが、 そういう場合は、行を削除した時に限定する必要はないと思います。 具体的に何がなされるか判らないので、何とも言えませんが... (^-^;) _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-03-01 11:20
早速の返答ありがとうございますm(_ _)m
私も調べたのですがそのようなイベントがありませんでした。 やはり無いですか・・・。 やりたい事なんですが、特定のセル(F列)を変更した際に再計算マクロを実行するのですが、この時は下記記述をしています。 ---------------------------------------------------------- Private Sub Worksheet_Change(ByVal Target As Range) If Mid(ActiveCell.Address, 2, 1) = "F" Then Call refresh_rtn ''再計算ルーチン End If End Sub ----------------------------------------------------------- 行を削除した際にも再計算マクロを実行したいのですが、この状態だと ActiveCell.Addressで取得するデータは10行目を削除した場合「$A$10」 となり条件にあてはまらない為、再計算ルーチンには飛べません。。。 何か別の方法で判断するしか無いんですかねぇ〜・・・。 | ||||
|
投稿日時: 2006-03-01 11:31
再計算が必要なのはセルに変更があった時と、シートの構成が変わった時だと思います。 そういう意味では割り切って SheetCalculate イベントに実装するのも手でしょう。 返って安全だとも言えます。 削除を禁止する方法もありますが、副作用があるのでお勧めできません。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||
|
投稿日時: 2006-03-01 11:44
なるほど・・・。
ChangeイベントからCalculateイベントへの変更をしてみます。 削除の判断に関しては何らかの変更をしたら自動再計算ではなく、 シートにボタンを設け逃げの方法を取ってみようかと思います。 じゃんぬねっとさん、ありがとうございました(∩_∩)ゞ |
1