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