|
すてぃっち さん、おはようございます。
>>2つの確認項目に対して、日付が1つのようなので、左に2列チェックして、「日付」があればそこに処理します。
>ひとつのブックに数シートありまして、シート毎に確認項目の数が異なっているのです。
>ですので、"結果"と"日付"という見出しから、自動的に日付をいれることはできないものかと再度質問させていただきました。
左方向に最大5列までチェックするようにしました。
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim Opos As Integer, CC As Integer
Opos = 0 '初期値
If Target.Count = 1 Then
If Target.Row > 7 Then '7行目まではパス
With ActiveSheet.Cells(7, Target.Column) '1行目が見出し
If .Value <> "日付" And .Value <> "結果" Then
For CC = 1 To 5 '確認項目が最大5列として
If .Offset(0, -CC).Value = "日付" Then
Opos = -CC
Exit For
End If
Next
End If
'見出し:日付が該当する列にあったら
If Opos < 0 Then
Application.EnableEvents = False 'イベントがおきないように
'上記分岐をパスしたTargetセルの右側のセルの内容
With Target.Offset(0, Opos)
Select Case Target.Value
Case "": .ClearContents
Case Else: .Value = Date
End Select
End With
Application.EnableEvents = True 'イベント可
End If
End With
End If
End If
End Sub
こんな感じです。
|
|