『Worksheet_Changeイベント』(BB)
“カレンダー”シートのI6:TU12の範囲で入力規則を設定しています。この中で選択したものは1文字のみ表示させています。
'入力規則の一文字だけ表示
If Intersect(Target, Range("I6:TU12")) Is Nothing Or Target.Count <> 1 Then Exit Sub
Application.EnableEvents = False
Target = Left(Target, 1)
この条件に追加で"カレンダー"シートのE15:E27の範囲で日付(m/d)が入力しI4:TU4(m/d)と同じであれば6行目から12行目に"休"を表示させたいんですがこのコードではできませんでした。どう修正すればいいでしょうか?よろしくお願い致します。
Private Sub Worksheet_Change(ByVal Target As Range)
'入力規則の一文字だけ表示
If Intersect(Target, Range("I6:TU12")) Is Nothing Or Target.Count <> 1 Or Intersect(Target, Range("E15:E26")) Is Nothing Then Exit Sub
Application.EnableEvents = False
Target = Left(Target, 1)
For k = 9 To 500
For i = 15 To 27 If Sheets("カレンダー").Cells(i, "E").Value = Sheets("カレンダー").Cells(4, k).Value Then
j = k
Sheets("カレンダー").Cells(6, j).Value = "休"
Sheets("カレンダー").Cells(7, j).Value = "休"
Sheets("カレンダー").Cells(8, j).Value = "休"
Sheets("カレンダー").Cells(9, j).Value = "休"
Sheets("カレンダー").Cells(10, j).Value = "休"
Sheets("カレンダー").Cells(11, j).Value = "休"
Sheets("カレンダー").Cells(12, j).Value = "休"
k = j
End If
Next i Next k
Application.EnableEvents = True
Application.EnableEvents = True
End Sub
< 使用 Excel:unknown、使用 OS:Windows10 >
日本語として意味不明です。「てにをは」がおかしいですね。
下記のようなことですか。
"カレンダー"シートのE15:E27の範囲に日付(m/d)を入力したとき、
その日付がI4:TU4範囲に存在すれば、
存在した列の6行目から12行目に"休"を表示させる
もし、違うのなら、意味が伝わる日本語で説明してください。
(hatena) 2024/04/26(金) 18:15:48
よろしくお願いします。
(BB) 2024/04/26(金) 18:29:15
一致するセルを検索する場合は、Application.Match を使うとシンプルです。
Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False '入力規則の一文字だけ表示 If Not Intersect(Target, Range("I6:TU12")) Is Nothing And Target.Count = 1 Then Target = Left(Target, 1) End If
Dim t As Range, c As Range, i As Variant Set t = Intersect(Target, Range("E15:E27")) If Not t Is Nothing Then For Each c In t i = Application.Match(c, Range("I4:TU4"), 0) If Not IsError(i) Then Range("I4").Offset(2, i).Resize(7).Value = "休" End If Next End If Application.EnableEvents = True End Sub
(hatena) 2024/04/27(土) 08:49:52
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.