[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『定休と書いてあったら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.