[[20080702165519]] 『特定行が空白の場合その列を非表示にするマクロ』(250M) ページの最後に飛ぶ

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

 

『特定行が空白の場合その列を非表示にするマクロ』(250M)

2回目の質問になります250Mです.

現在表題の件のマクロを作成しようてしてうまく行きません.

「特定列が空白の場合その行を非表示にする」というマクロはできました.

Sub 行非表示()

Dim idx As Long
Const col As String = "f"
Application.ScreenUpdating = False
For idx = 1 To Range(col & "65536").End(xlUp).Row

     If Cells(idx, col).Value = 0 Then
         Rows(idx).Hidden = True
     End If
Next
Application.ScreenUpdating = True

End Sub

これは「F列が空白がの場合,その行を非表示にするマクロ」なのですが
(ネットにあったのを修正してなんとかできたんですが)
このマクロを修正して
「特定行が空白の場合,その列を非表示」というマクロにできないでしょうか?
rowのとこをcolmnにするとか,いろいろやったんですがダメでした・・・

御教授おねがいできないでしょうか,よろしくお願い致します.


 例えばこんな塩梅に?
    (弥太郎)
 '------------
 Sub 非表示()
    Dim idx As Long, n As Integer, 特定行 As Variant
    特定行 = Array(3, 5, 7)
    For idx = 1 To 10
        For n = 1 To 10
            If Cells(idx, n) = "" And Not IsError(Application.Match(idx, 特定行, 0)) Then
                Columns(n).Hidden = True
            End If
        Next n
    Next idx
 End Sub


 「特定列が空白の場合・・」となってますが、マクロの方は、
 Cells(idx, col).Value = 0 となってますよね。
 下記のマクロは文字通り空白の場合に非表示にするもので、
 数式で返してる "" や 0 には反応しません。ですから、ご希望と
 違うかもしれませんので、ご注意下さい。

 「特定列が空白の場合その行を非表示にする」 

 Sub 行_非表示()
    Dim r As Range
    Set r = Range("F1:F" & Range("F65536").End(xlUp).Row)
    r.SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
 End Sub

 「特定行が空白の場合その列を非表示にする」 

 Sub 列_非表示()
    Dim r As Range
    Set r = Range("A3").Resize(, Range("IV3").End(xlToLeft).Column) '仮に3行目とした
    r.SpecialCells(xlCellTypeBlanks).EntireColumn.Hidden = True
 End Sub
 
(純丸)(o^-')b

質問した250Mです.

お二方ともすごいです.ありがとうございます.


コメント返信:

[ 一覧(最新更新順) ]


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