[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『特定行が空白の場合その列を非表示にするマクロ』(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.