[[20020518153638]] 『セルが0の時、その行自体を非表示に』(山田) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『セルが0の時、その行自体を非表示に』(山田)

 山田です。

 セルが0を表示させた時、その行自体を非表示にするのはどうするのですか?

    A  10

    B  0

    C  29

       上記のB行を非表示にできませんか?

       言いかえれば、A、C行しか表示しない。

    お願いします。 

 --------------------

 行または列を非表示にするには、行番号か、列番号をクリックして、マウスの右クリックメニュー(ショートカットメニュー)の【表示しない】をクリックすればよい。

 再表示するときは非表示にした両側の行番号か、列番号をクリックして、マウスの右クリックメニューの【再表示】をクリックすれば戻ります。

 (シニア?)

>違いますっ!!

自動的に非表示にする数式か他の方法を知りたいのですっ!

教えて下さい。

 違っていましたか?

行の自動非表示にどのような意味があるのか、理解できませんが、

【ツール】⇒オプションの表示にある【ゼロ値】のチェックを外して、降順にソートする方法ではいけないですか?

 (シニア?)


 >違いますっ!!

 ずいぶん失礼な書き方をする人ですね。

 よその掲示板ならこういう書き込みがあった時点で無視されますよ。

 ワークシートの関数には行を非表示にするものはありません。

 0は数式の結果ですか? それとも数値を入力してあるだけですか?

 あと数式が返す0をリアルタイムに判断して非表示にするような処理は

 シニア?さんと同じく意味がないと思います。

 非表示にした行を戻すときの処理も考えなければなりません。

 例えばその0が0以外になったら表示するというようなことを考えていますか?

 その非表示行にある0をどうやって他の数値に変えるかです。

 表示させてから変えればいいですか?

 リアルタイムに処理すると、表示させた次の瞬間に非表示に戻されてしまいますよ。

 非表示の状態のまま、その数値を変更させる手段を別に用意しなければなりません。

 それでは自動化のメリットがありません。 

 とりあえず一括で非表示にするマクロを紹介します。

 手間を考えるとシニア?さんが紹介している手動操作と大差ありませんけど...

 ↓のマクロを使って、該当する数値の列を選択した状態で実行してください。

 選択範囲の0をチェックしてその行を非表示にします。

 あと選択範囲に空セルがあると処理を終了するようにしています。

 選択した列の最初のセルが空だと、いきなり終了してしまうので、

 そのときは数値(数式)のエリアをドラッグして選択してください。

 Sub macro()

 Dim adr As Range

 For Each adr In Selection

    If adr.Value = "" Then

        Exit For

    ElseIf adr.Value = 0 Then

        adr.EntireRow.Hidden = True

    End If

 Next

 End Sub

 (ramrun)


 山田さん応答がないので、他の方法を紹介します。非表示にする方法として、この列に標題を入力して、【データ】のフィルター⇒オートフィルターにし、フィルターリストのオプションを選択して、抽出条件の指定で 0 より大きい にすれば、0値は非表示になります。元に戻すには、フィルターの【すべて】をクリックします。この方法では如何ですか?

 (シニア?)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.