
No.3ベストアンサー
- 回答日時:
こんばんは。
'標準モジュールが良いです。
Sub Test1()
Dim myDate As Long
Dim i As Variant
myDate = Date
i = Application.Match(myDate, Range("A:A"), 0)
If IsError(i) Then
MsgBox "本日の" & Format$(myDate, "yy/MM/dd") & "が見つかりません。", 48
Exit Sub
End If
On Error Resume Next
'B列に対して(かならず、1行目から行うこと)
With Range("B1").Resize(i).SpecialCells(xlCellTypeBlanks)
If Err.Number > 0 Then
MsgBox "非表示にすべきセルが見つかりません!", 48
Exit Sub
Else
.EntireRow.Hidden = True 'True 非表示
MsgBox .Cells.Count & "行が非表示になっています。", 64
End If
End With
On Error GoTo 0
End Sub
メッセージ等が不必要でしたら、その部分は削除してください。
No.2
- 回答日時:
Sub test01()
Dim cl As Range
Range("B2:B100").SpecialCells(xlCellTypeBlanks).Select
For Each cl In Selection
r = cl.Row
'MsgBox r
Rows(r).EntireRow.Hidden = True
Next
End Sub
--
SpecialCells(xlCellTypeBlanks).Select
を使うところがミソか
1つづつB列のセルを空白か聞いていっても出来るが。
早速のご回答ありがとうございます。
A列の日付が本日まで、というところでちょっと躓いています。
お知恵を拝借できるとありがたいのですが・・・
No.1
- 回答日時:
「EXCEL VBA」と明示してあるので
>何かいい方法はないでしょうか?
は「丸投げでお願いします」ということですね。 ご自身はトライされましたか。どこでつまづきましたか? それがないと身に付きませんよ。
A列の日付が昇順になっているのか、ランダムなのかも書かれていないので、ランダムと見なします。また空白とは「式も何も入力されていないセル」と見なします。マクロサンプルを書きますから条件が違うならご自身で修正してください。
Sub Macro1()
Dim r, trg As Range
Set trg = Range("B1", Range("A1").End(xlUp).Offset(0, 1))
For Each r In trg.SpecialCells(xlCellTypeBlanks)
If IsDate(r.Offset(0, -1)) Then
If r.Offset(0, -1) <= Date Then
r.EntireRow.Hidden = True
End If
End If
Next r
End Sub
早速のご回答ありがとうございます。
自分の求めているとおりのご回答でありがたく思います。
残念ながら実行してみると、 If IsDate(r.Offset(0, -1)) Then のところで、実行時エラー'1004'アプリケーション定義またはオブジェクト定義のエラーです、の表示が出ます。
ただし、結果はきちんとB列が空白の行が非表示になります。
これは、どこが悪いのでしょうか?
ついでに、自分なりに考えたのはJ列に作業列を作って、日付が今日以前の場合は"0"、明日以降の場合は"1"を表示させて、Bが空白でJが"0"の場合に非表示にしたら良いのでは?ということでトライしていました。
大変すっきりしたコードで感心しています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
特定のセルが空白だったら、その行を非表示にしたい。。。
Visual Basic(VBA)
-
特定のセルが空白の行を非表示にするマクロについて
Excel(エクセル)
-
エクセルで特定の列が0表示の場合、その行を非表示にしたい
Excel(エクセル)
-
-
4
EXCELマクロで、ある列の値が0の場合、非表示/表示ボタンで該当列を非表示切り替えしたいんです。
Excel(エクセル)
-
5
エクセル~空白のセルのある行を非表示に。
Excel(エクセル)
-
6
エクセルでセルが空白だったらその行を表示させない方法を教えてください。
Excel(エクセル)
-
7
【VBA】全て空白のセルの列の非表示
Excel(エクセル)
-
8
エクセルで特定の値を含む列のみVBAで非表示にしたい
Excel(エクセル)
-
9
【VBA】複数のシートの指定した列を非表示・表示をさせたい
Excel(エクセル)
-
10
(Excel VBA)シートコピー時マクロはコピーしたくない
Excel(エクセル)
-
11
エクセル:条件付の行非表示
Excel(エクセル)
-
12
EXCELで特定のセルに表示された項目をヘッダーやフッターに出力するには
Excel(エクセル)
-
13
エクセルで指定したセルのどれかに○がはいっていたら○を表示したいです。
その他(コンピューター・テクノロジー)
-
14
エクセルVBAのEntireRow.Hiddenをスピードアップしたいのですが・・・。
Excel(エクセル)
-
15
条件に一致したときに画像を表示したいのですが・・。
Excel(エクセル)
-
16
エクセルで特定の数字が入ったときにセルを空白にする
その他(Microsoft Office)
-
17
マクロ セルに入力されたシートを選択する
Excel(エクセル)
-
18
EXCELマクロで、ある列の値が0の場合、非表示/表示ボタンで該当列&行を同時に非表示に切替したい。
Excel(エクセル)
-
19
VBAマクロ非表示が遅いので早くしたい
Excel(エクセル)
-
20
本日の日付とマッチした列の値を抽出
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセル 指定した文字列を含...
-
エクセルで2列を検索し2列とも...
-
エクセル マクロで列を連続し...
-
エクセルvba 一つ上の行を指定...
-
EXCEL VBA 指定範囲内で特定の...
-
桁数が混在する並び替えの方法
-
EXCELである列を上から順にチェ...
-
エクセルで一部除外した数字を...
-
Excelで数値→文字列変換で指数...
-
Excelで行ごとコピー、同じ行を...
-
Excelの関数について、特定の文...
-
テキストボックス内の文字のふ...
-
日付が1年以内になると他のセル...
-
エクセルにおける、グラフの指...
-
エクセルでグラフタイトルが折...
-
たくさん作った同じ設定のグラ...
-
エクセル
-
WORDのグレー括弧って?
-
エクセル カタカナの文字を検...
-
エクセル 入力中に表示されな...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル 指定した文字列を含...
-
桁数が混在する並び替えの方法
-
エクセルで一部除外した数字を...
-
EXCEL VBA 指定範囲内で特定の...
-
エクセルで同じ名前ごとの合計...
-
エクセル マクロで列を連続し...
-
エクセルVBA Unionはなぜ遅い?
-
エクセル VLOOKUPが反映されない
-
マクロについての質問です
-
エクセルvba 一つ上の行を指定...
-
エクセルで列内の同じIDの商品...
-
エクセルの関数SUBSTITUTEを、...
-
エクセルで2列を検索し2列とも...
-
エクセル 2010 マクロ 残セル表...
-
VLOOKUPを使用しましたがうまく...
-
vlookup関数詳しい方おしえてく...
-
ExcelVBA:列方向の並び替え O...
-
セルの入力制限(半角数字と半...
-
エクセルのソートの方法
-
A列の下2桁だけが連番でなかっ...
おすすめ情報