|
自力で加筆中ですが、下の Loop Until .Value = Range(m + 5, 4).Valueで止まってしまいます。文法が間違っているでしょうか。
<加筆中>
Private Sub Worksheet_Change(ByVal Target As Range)
Dim m As Integer
With Target
If .Address <> "$E$6" Then Exit Sub
If .Count > 1 Then Exit Sub
If IsEmpty(.Value) Then Exit Sub
' 入力規制したので不要?
' If InStr(.Text, ":") < 2 Or _
' InStr(.Offset(, -1).Text, ":") < 2 Then
' MsgBox "開始時間・終了時間を" & vbLf & _
' "0:00:00 の時刻形式で入力して下さい", 48
' GoTo ELine
' End If
If .Offset(, -1).Value <= TimeValue("9:00:00") And _
.Value > TimeValue("9:00:00") Then
Do
MyNm = InputBox("お名前を入力して下さい")
Loop While MyNm = ""
m = 0
Do
m = m + 1
If IsEmpty(.Offset(, m).Value) Then
.Offset(, m).Value = MyNm
Else
MsgBox "すでに入力があります"
' Range("F65536").End(xlUp).Offset(1).Value = MyNm
End If
Loop Until .Value = Range(m + 5, 4).Value
Else
GoTo ELine
End If
End With
Exit Sub
ELine:
Application.EnableEvents = False
Range("D6:E6").ClearContents
Application.EnableEvents = True
End Sub
|
|