[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『別シートのセル値によって非表示列を変える方法について』(あやとん)
こちらの掲示板で下記コードを見つけて使わせていただいてます。
このコードを別のシートのセル値によって非表示にする列を変えるにはどおしたらよいのでしょうか?
例えばシート1のA3のセルの値によって、シート2の列を非表示にするといった具合です。
(下記コードは行の非表示)
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A3")) Is Nothing Then
Cells.EntireRow.Hidden = False Select Case Range("A3").Value Case "うさぎ" Range("14:20").EntireRow.Hidden = True Case "とり" Range("14:25,30:40").EntireRow.Hidden = True Case "条件3" '上記と同様に設定 Case "条件4" '上記と同様に設定 End Select End If End Sub
< 使用 Excel:Excel2016、使用 OS:Windows10 >
したがって質問の部分だけでいえば、
Range("14:20").EntireRow.Hidden = True ↓ Sheets("Sheet2").Range("14:20").EntireRow.Hidden = True
のようにすればよろしいかと思います。
また、質問とは関係ありませんが、「とり」の場合エラーになりませんか?
(試してないのでエラーにならないのであれば忘れてください)
(もこな2 ) 2020/05/30(土) 13:03
Range("14:25,30:40").EntireRow.Hidden = True
として、試してみましたが、エラーにならないですね。失礼しました。
(もこな2 ) 2020/05/30(土) 16:44
参考に
Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("A3:A4")) Is Nothing Then Exit Sub Cells.EntireRow.Hidden = False If Target.Address = "$A$3" Then Select Case Range("A3").Value Case "うさぎ" Range("14:20").EntireRow.Hidden = True Case "とり" Range("14:25,30:40").EntireRow.Hidden = True Case "条件3" '上記と同様に設定 Case "条件4" '上記と同様に設定 End Select ElseIf Target.Address = "$A$4" Then Select Case Range("A4").Value Case "かめ" '何らかの処理 End Select End If End Sub
(ピンク) 2020/05/30(土) 20:50
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C3:C4")) Is Nothing Then
Sheets("sheet2").Cells.Columns.Hidden = False Sheets("sheet3").Cells.Columns.Hidden = False If Target.Address = "$C$3" Then Select Case Range("C3").Value
Case "うさぎ" Sheets("sheet3").Columns("AS:CF").Hidden = True Case "とり" Sheets("sheet3").Columns("BM:CF").Hidden = True
End Select ElseIf Target.Address = "$C$4" Then Select Case Range("C4").Value Case "かめ" Sheets("sheet2").Columns("E:I").Hidden = True Sheets("sheet2").Columns("K:L").Hidden = True Sheets("sheet3").Columns("AO").Hidden = True Sheets("sheet3").Columns("AS:AW").Hidden = True Sheets("sheet3").Columns("AY").Hidden = True Sheets("sheet3").Columns("BC:BG").Hidden = True Sheets("sheet3").Columns("BI").Hidden = True
End Select
End If End If End Sub
(あっつ) 2020/05/30(土) 23:00
では?
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("C3:C4")) Is Nothing Then If Target.Address = "$C$3" Then With Sheets("sheet3") .Columns("AS:CF").Hidden = False .Columns("BM:CF").Hidden = False End With Select Case Range("C3").Value Case "うさぎ" Sheets("sheet3").Columns("AS:CF").Hidden = True Case "とり" Sheets("sheet3").Columns("BM:CF").Hidden = True End Select ElseIf Target.Address = "$C$4" Then With Sheets("sheet2") .Columns("E:I").Hidden = False .Columns("K:L").Hidden = False End With With Sheets("sheet3") .Columns("AO").Hidden = False .Columns("AS:AW").Hidden = False .Columns("AY").Hidden = False .Columns("BC:BG").Hidden = False .Columns("BI").Hidden = False End With Select Case Range("C4").Value Case "かめ" With Sheets("sheet2") .Columns("E:I").Hidden = True .Columns("K:L").Hidden = True End With With Sheets("sheet3") .Columns("AO").Hidden = True .Columns("AS:AW").Hidden = True .Columns("AY").Hidden = True .Columns("BC:BG").Hidden = True .Columns("BI").Hidden = True End With End Select End If End If End Sub
(ピンク) 2020/05/31(日) 00:25
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C3:C4")) Is Nothing Then
If Target.Address = "$C$3" Then With Sheets("sheet3") Sheets("sheet3").Columns("AS:CF").Hidden = False Sheets("sheet3").Columns("BC:CF").Hidden = False Sheets("sheet3").Columns("Y:CF").Hidden = False Sheets("shet3").Columns("AI:CF").Hidden = False Sheets("sheet3").Columns("BC:CF").Hidden = False
End With Select Case Range("C3").Value
Case "A事業" Sheets("sheet3").Columns("AS:CF").Hidden = True Case "B事業" Sheets("sheet3").Columns("BC:CF").Hidden = True Case "C事業" Sheets("sheet3").Columns("Y:CF").Hidden = True Case "D事業" Sheets("sheet3").Columns("AI:CF").Hidden = True Case "D事業" Sheets("sheet3").Columns("BC:CF").Hidden = True
End Select ElseIf Target.Address = "$C$4" Then With Sheets("sheet2") .Columns.Hidden = False
End With With Sheets("sheet3") .Columns("E:I").Hidden = False .Columns("K").Hidden = False .Columns("O:S").Hidden = False .Columns("U").Hidden = False .Columns("Y:AC").Hidden = False .Columns("AE").Hidden = False .Columns("AI:AM").Hidden = False .Columns("AO").Hidden = False .Columns("AS:AW").Hidden = False .Columns("AY").Hidden = False .Columns("BC:BG").Hidden = False .Columns("BI").Hidden = False .Columns("BM:BQ").Hidden = False .Columns("BS").Hidden = False .Columns("BW:CA").Hidden = False .Columns("CC").Hidden = False .Columns("CG:CK").Hidden = False .Columns("CM").Hidden = False
.Columns("E:H").Hidden = False .Columns("L:M").Hidden = False .Columns("O:R").Hidden = False .Columns("V:W").Hidden = False .Columns("Y:AB").Hidden = False .Columns("AF:AG").Hidden = False .Columns("AI:AL").Hidden = False .Columns("AP:AQ").Hidden = False .Columns("AS:AV").Hidden = False .Columns("AZ:BA").Hidden = False .Columns("BC:BF").Hidden = False .Columns("BJ:BK").Hidden = False .Columns("BM:BP").Hidden = False .Columns("BT:BU").Hidden = False .Columns("BW:BZ").Hidden = False .Columns("CD:CE").Hidden = False .Columns("CG:CJ").Hidden = False .Columns("CN:CO").Hidden = False End With
Select Case Range("C4").Value Case "うさぎ" With Sheets("sheet2") .Columns("E:I").Hidden = True .Columns("K:L").Hidden = True End With With Sheets("sheet3") .Columns("E:I").Hidden = True .Columns("K").Hidden = True .Columns("O:S").Hidden = True .Columns("U").Hidden = True .Columns("Y:AC").Hidden = True .Columns("AE").Hidden = True .Columns("AI:AM").Hidden = True .Columns("AO").Hidden = True .Columns("AS:AW").Hidden = True .Columns("AY").Hidden = True .Columns("BC:BG").Hidden = True .Columns("BI").Hidden = True .Columns("BM:BQ").Hidden = True .Columns("BS").Hidden = True .Columns("BW:CA").Hidden = True .Columns("CC").Hidden = True .Columns("CG:CK").Hidden = True .Columns("CM").Hidden = True
End With Case "とり" With Sheets("sheet2") .Columns("E:H").Hidden = True .Columns("K").Hidden = True .Columns("M:N").Hidden = True End With With Sheets("sheet3")
.Columns("E:H").Hidden = True .Columns("L:M").Hidden = True .Columns("O:R").Hidden = True .Columns("V:W").Hidden = True .Columns("Y:AB").Hidden = True .Columns("AF:AG").Hidden = True .Columns("AI:AL").Hidden = True .Columns("AP:AQ").Hidden = True .Columns("AS:AV").Hidden = True .Columns("AZ:BA").Hidden = True .Columns("BC:BF").Hidden = True .Columns("BJ:BK").Hidden = True .Columns("BM:BP").Hidden = True .Columns("BT:BU").Hidden = True .Columns("BW:BZ").Hidden = True .Columns("CD:CE").Hidden = True .Columns("CG:CJ").Hidden = True .Columns("CN:CO").Hidden = True
End With
End Select
End If End If End Sub
(あっつ) 2020/05/31(日) 21:49
Private Sub Worksheet_Change(ByVal Target As Range)
' 1)対象セル以外なら終了 If Intersect(Target, Range("C3:C4")) Is Nothing Then Exit Sub
' 2)最初に、いったん全て再表示
' 3)C3の値で非表示 Select Case Range("C3").Value
End Select
' 4)C4の値で非表示 Select Case Range("C4").Value
End Select
End Sub
(マナ) 2020/06/01(月) 13:22
手伝ってくれた皆様もありがとうございます。
(あっつ) 2020/06/01(月) 22:28
Sub 実験() Dim MyRNG壱 As Range, MyRNG弐 As Range Dim i As Long
With Worksheets("sheet3").Range("E1:I1,K1") Set MyRNG壱 = .Cells
For i = 1 To 8 Set MyRNG壱 = Union(MyRNG壱, .Offset(0, i * 10)) Next
MsgBox MyRNG壱.EntireColumn.Address(False, False) End With
With Worksheets("sheet3").Range("E1:H1,L1:M1") Set MyRNG弐 = .Cells
For i = 1 To 8 Set MyRNG弐 = Union(MyRNG弐, .Offset(0, i * 10)) Next
MsgBox MyRNG弐.EntireColumn.Address(False, False) End With
MsgBox Union(MyRNG壱, MyRNG弐).Address(False, False)
End Sub
(もこな2) 2020/06/02(火) 19:17
ありがとうございます!
こちらも少ない文で綺麗ですね!
こっちでも1度試してみたいと思います!
(あっつ) 2020/06/02(火) 19:37
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.