[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『定休と書いてあったら5行分消す』(luke)
名前|出勤|時間|@|@|
< 使用 Excel:Excel2016、使用 OS:MOUSE COMPUTER >
こいつを |[A] |[B] |[C] [1] |名前|出勤|時間 [2] |A |休み|9時 [3] | | | [4] | | | [5] | | | [6] | | | [7] |B |定休|9時 [8] | | | [9] | | | [10]| | | [11]| | | [12]|C |休み|9時 [13]| | | [14]| | | [15]| | | [16]| | |
こうしたいってことでしょうか? |[A] |[B] |[C] [1] |名前|出勤|時間 [2] |A |休み|9時 [3] | | | [4] | | | [5] | | | [6] | | | [12]|C |休み|9時 [13]| | | [14]| | | [15]| | | [16]| | | Sub 定休非表示() Dim r As Range Dim i As Long Cells.EntireRow.Hidden = False For i = 2 To Cells(Rows.Count, "B").End(xlUp).Row If Cells(i, "B").Value = "定休" Then If r Is Nothing Then Set r = Cells(i, "B").Resize(5).EntireRow Else Set r = Union(r, Cells(i, "B").Resize(5).EntireRow) End If End If Next i r.Hidden = True End Sub
(稲葉) 2019/03/18(月) 17:43
お察しの通りです!言葉足らずにすいません。。。
自分で考えてみてBVAの書き方がいまいちわかりませんでした!
稲葉さん早速使ってみます!
また何かあったらよろしくお願いします。
(luke) 2019/03/19(火) 08:47
Sub 定休非表示() Dim r As Range Dim i As Long Cells.EntireRow.Hidden = False For i = 2 To Cells(Rows.Count, "B").End(xlUp).Row If Cells(i, "B").Value = "定休" Then If r Is Nothing Then Set r = Cells(i, "B").Resize(5).EntireRow Else Set r = Union(r, Cells(i, "B").Resize(5).EntireRow) End If End If Next i r.Hidden = True End Sub
すいません。最後の二行のr.Hidden = Trueでデバッグが出るんですがどう直せばいいですかね。。。
(luke) 2019/03/19(火) 09:08
定休日がないからだと思います。 If Not r Is Nothing Then r.Hidden = True でどうでしょう? (稲葉) 2019/03/19(火) 09:31
r.Hidden = True
この部分でデバッグかかってしまいます。。。
(luke) 2019/03/19(火) 09:41
直したコード全部挙げてもらえませんか? (稲葉) 2019/03/19(火) 09:46
Dim r As Range Dim i As Long Cells.EntireRow.Hidden = False For i = 2 To Cells(Rows.Count, "B").End(xlUp).Row If Cells(i, "B").Value = "定休" Then If r Is Nothing Then Set r = Cells(i, "B").Resize(5).EntireRow Else Set r = Union(r, Cells(i, "B").Resize(5).EntireRow) End If End If Next i If Not r Is Nothing Then r.Hidden = True End Sub
これです!お願いします。
(luke) 2019/03/19(火) 09:51
うーーん シートの保護が掛かっているとか?
(稲葉) 2019/03/19(火) 09:55
にしてください。 (でれすけ) 2019/03/19(火) 10:00
保護は掛かってなさそうです。。。
|[A] |[B] |[C] [1] |名前|出勤|時間 [2] |A |休み|9時 [3] | | | [4] | | | [5] | | | [6] | | | [7] |B |定休|9時 [8] | | | [9] | | | [10]| | | [11]| | | [12]|C |休み|9時 [13]| | | [14]| | | [15]| | | [16]| | | [17]|D |休み|9時 [18]| | | [19]| | | [20]| | | [21]| | | [22]| | | [23]|E |休み|9時 [24]| | | [25]| | | [26]| | | [27]| | | [28]| | | -----------
実際はここまで長くなっていてもう少し伸びるかと思われます。
ここは関係ないですかね??
(luke) 2019/03/19(火) 10:05
定休が二つ以上あると、でれすけさんのご指摘通りEntireRowにしないとダメっぽいです。 私はそれで解決したのですが、ダメですかね? (稲葉) 2019/03/19(火) 10:14
Sub 非表示()
' 定休者非表示 Macro
Dim r As Range Dim i As Long Cells.EntireRow.Hidden = False For i = 2 To Cells(Rows.Count, "B").End(xlUp).Row If Cells(i, "B").Value = "定休" Then If r Is Nothing Then Set r = Cells(i, "B").Resize(5).EntireRow Else Set r = Union(r, Cells(i, "B").Resize(5).EntireRow) End If End If Next i r.EntireRow.r.Hidden = True End Sub
やはり下の2行でコンパイルエラーになります。。。
(luke) 2019/03/19(火) 10:17
r.EntireRow.Hidden = True こうっす (稲葉) 2019/03/19(火) 10:18
でれすけさんフォローありがとうございました。
再表示は Cells.EntireRow.Hidden = False これです。 (稲葉) 2019/03/19(火) 11:46
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.