ラベル Excel の投稿を表示しています。 すべての投稿を表示
ラベル Excel の投稿を表示しています。 すべての投稿を表示

2020年5月13日水曜日

Excel上で、ツリー構造のような表示

わかりにくくてすみません、単なる個人的なメモとして残すために書きました。

■目的
ファイルリストのような階層データを treeコマンドの出力結果のようにしたい

■G1セルの式
=IF(A1<>"",A1,IF(COUNTIF(A$1:A1,"<>")=0,"",IF(B1<>"",IF(AND(A2="",G2<>""),"├","└"),IF(AND(A2="",G2<>""),"│",""))))

詳細は以下の画像で確認


2018年9月3日月曜日

Excel条件付き書式のプレビューに文字が表示されない!?

Excel(2016)のマクロで条件付き書式を他のシートへコピーするのを作っていました。コピー処理自体はできて、動作も問題ないと思っていた。でも、Excel上で条件付き書式の設定画面を確認すると、なんか違和感。

うーん、、、あ! プレビュー(サンプル)に文字が表示されてない!?

そうそう同じケースになることはないでしょうが、誰かしら参考になればと思い、書いておきます。(検索の仕方の問題もあるでしょうが、ググってもそれらしきケースがみつからなかったし)


■対処方法
今回はマクロ側の問題であったのだけど、手動でも起こり得ることなので、とりあえず手動で直す方法です。

条件付き書式で適用する表示形式の内容が、";;" になっていました。 ∑q|゚Д゚|pワオォ!!

コピー先の条件付き書式で、該当のルールの編集画面から、[書式]>[クリア]ボタンを押してOK。
なおった状態



■マクロ側の問題
そもそも、コピー処理といっても、元の条件付き書式オブジェクト(FormatCondition)を一発でコピー先に設定することができないので、各項目ごとに値を移していた(コピー先.XXX=コピー元.XXX)。
その際、元のプロパティが未設定(Null)だとエラーとなるので、on error resume nextで無視していた。

今回問題となったNumberFormatは、未設定だとEmpty。これをコピーすると、設定後は";;"となってました。 なんで?(゚⊿゚)シラネ
そんなわけで、IsEmpty(コピー元.NumberFormat)=Falseの時だけ、コピー先に設定するようにした。
→ これで上記の手動による対応も不要。