回答編集履歴
1
コード追記
answer
CHANGED
@@ -9,4 +9,23 @@
|
|
9
9
|
しかし、00:00:90 というような入力は 00:01:30 と変換してくれます。
|
10
10
|
|
11
11
|
これではダメ、00:00:90 も拒否してほしいとなると、セルの表示書式は「文字列」にしておいて、
|
12
|
-
シートのChangeイベントでチェックすることになりそうです。
|
12
|
+
シートのChangeイベントでチェックすることになりそうです。
|
13
|
+
|
14
|
+
```vba
|
15
|
+
Private Sub Worksheet_Change(ByVal Target As Range)
|
16
|
+
If Target.Cells.Count = 1 And Target.Column = 1 Then
|
17
|
+
If Not CheckFormat(Target.Value) Then
|
18
|
+
Target.Select
|
19
|
+
MsgBox ("フォーマットが違います")
|
20
|
+
End If
|
21
|
+
End If
|
22
|
+
End Sub
|
23
|
+
|
24
|
+
Function CheckFormat(mozi As String) As Boolean
|
25
|
+
If mozi = "" Then
|
26
|
+
CheckFormat = True
|
27
|
+
ElseIf IsDate(mozi) Then
|
28
|
+
If DateValue(mozi) = 0 Then CheckFormat = True
|
29
|
+
End If
|
30
|
+
End Function
|
31
|
+
```
|