[[20170503003602]] 『指定値を含む行の非表示(VBA)』(Joey) ページの最後に飛ぶ

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

 

『指定値を含む行の非表示(VBA)』(Joey)

J列に数字の「1」が入力されている行を非表示にするVBAを教えていただけますでしょうか?

A1からH250までのファイルで、入力内容によって不要の行を印刷しないよう、印刷したくない(非表示にしたい)行のJ列に「1」が入力されるよう数式を入れました。

このJ列の「1」をキーとして、自動的に列を非表示にする方法を知りたいです。

よろしくお願いいたします。

< 使用 Excel:unknown、使用 OS:Windows7 >


 一行目を非表示にする動作をマクロ記録してみた。
 Sub Macro1()
     Rows("1:1").Select
     Selection.EntireRow.Hidden = True
 End Sub

 もっと簡単に、こんな風に書けそう。試すとOKだった。
 Sub test()
     Rows(2).Hidden = True
 End Sub

 だったら、これを利用してこんな風にまとめられないかな。
 Sub test2()
     Dim k As Long

     For k = 1 To 250
         If Cells(k, "J").Value = 1 Then
             Rows(k).Hidden = True
         End If
     Next
 End Sub

 なお、250のところは決め打ちしているが、
 例によって、
     For k = 1 To Cells(Rows.Count, "A").End(xlUp).Row
 などとも書ける。(A列には必ずデータが入っているという前提)

(γ) 2017/05/03(水) 05:31


オートフィルターを利用する手もありそう。
印刷対象外の一行目を仮見出しとして、
J列の1以外を抽出するとか。

(γ) 2017/05/03(水) 06:20


希望通り動作しました。早速のご回答をありがとうございました。
(Joey) 2017/05/03(水) 16:40

コメント返信:

[ 一覧(最新更新順) ]


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