> 後は削除させるのに取り掛かります。
がんばってください。
でも、さきほどのではいくらでも重複予約ができてしまいますね。
きっと上司に言われると思いますよ。
sei_s95さんががんばってる間に、わたくしはさきほどのコードにダブルブッキング防止機能を付加してみました。
こんなのはどうでしょう?
Sub 登録()
Dim x As Long, y As Long, z As Long, i As Long
Dim ws As Worksheet
Dim Rng As Range, c As Range
Set ws = Sheets("TEST")
With Sheets("Sheet1")
x = .Range("A2:A50").Find(What:=ws.Range("D2").Value, LookIn:=xlFormulas, _
LookAt:=xlWhole).Row
y = .Rows(1).Find(What:=ws.Range("D3").Text, LookIn:=xlValues, _
LookAt:=xlWhole).Column
z = .Rows(1).Find(What:=ws.Range("D4").Text, LookIn:=xlValues, _
LookAt:=xlWhole).Column - 1
Set Rng = .Range(.Cells(x, y), .Cells(x, z))
For Each c In Rng
If c.Interior.ColorIndex <> xlNone Then
i = i + 1
End If
Next c
Select Case True
Case i = Rng.Count
MsgBox "ダブルブッキング!!", vbCritical, "Σ( ̄ロ ̄lll) ": End
Case i > 0
MsgBox "指定時間の一部が予約されています。", vbCritical, "ヾ( ̄□ ̄; )ノ!": End
Case Else
MsgBox "予約しました。", vbInformation, "(´^∇^)σ"
End Select
With Rng
.Interior.ColorIndex = 6
.ClearComments
With .Cells(1)
.AddComment
.Comment.Visible = False
.Comment.Text Text:=ws.Range("A2").Value & "/" & ws.Range("D3").Text
End With
End With
End With
End Sub
LookAt:=xlWhole).Row
y = .Rows(1).Find(What:=Range("D3").Text, LookIn:=xlValues, _
LookAt:=xlWhole).Column
z = .Rows(1).Find(What:=Range("D4").Text, LookIn:=xlValues, _
LookAt:=xlWhole).Column - 1
.Range(.Cells(x, y), .Cells(x, z)).Interior.ColorIndex = 6
.Range(.Cells(x, y), .Cells(x, z)).ClearComments
With .Cells(x, y)
.AddComment
.Comment.Visible = False
.Comment.Text Text:=Range("A2").Value & "/" & Range("D3").Text
End With
End With
End Sub
お礼
お陰様で、何とか完成させました。 本当に、本当にありがとうございました。
補足
重ね重ねありがとうございます! 私も、Wブッキングは気になっていました。。。 さっそく試してみます。 ちなみに、削除は何とか完成させることができました。 本当にmerlionXXさんのおかげです。 本当にありがとうございます。