お勉強 :  MargeAreaが超便利だった 

EXCELのVBAで、WorksheetFunction.Index と Match を使って
目的データが書かれている行を特定して、その行を非表示にする
という動作をさせたかった。

非表示は Rows.Hidden = true でいいらしいことは理解して、
動くスクリプトもできてきた、と思ったのもつかの間、
あるセルだけ意図したように動かない。

どうやら複数行を「セルの結合」しているセルで実行すると、
結合している行の中で最初の行だけ非表示になり、その他の
行は残ってしまいました。

もしや、行をすべて何かしらの方法で割り出して1行ずつ
処理しないのかとも思いましたが、MargeArea を使えば
一発で処理できることを理解ました。
MargeArea.EntireRow.Hidden = True にすれば、
所属している行はまとめて非表示にできた。

ついでに MargeArea は結合していないセルでも動くので、
あっさりと問題は解決できたのでした。

さて、今晩の体重は 80.4kg でした。


[ 2017/06/06 23:14 ] お勉強 | TB(0) | CM(0)
コメントの投稿








管理者にだけ表示を許可する