回答編集履歴

1

コード追記

2021/12/19 15:25

投稿

hatena19
hatena19

スコア34075

test CHANGED
@@ -21,3 +21,41 @@
21
21
  これではダメ、00:00:90 も拒否してほしいとなると、セルの表示書式は「文字列」にしておいて、
22
22
 
23
23
  シートのChangeイベントでチェックすることになりそうです。
24
+
25
+
26
+
27
+ ```vba
28
+
29
+ Private Sub Worksheet_Change(ByVal Target As Range)
30
+
31
+ If Target.Cells.Count = 1 And Target.Column = 1 Then
32
+
33
+ If Not CheckFormat(Target.Value) Then
34
+
35
+ Target.Select
36
+
37
+ MsgBox ("フォーマットが違います")
38
+
39
+ End If
40
+
41
+ End If
42
+
43
+ End Sub
44
+
45
+
46
+
47
+ Function CheckFormat(mozi As String) As Boolean
48
+
49
+ If mozi = "" Then
50
+
51
+ CheckFormat = True
52
+
53
+ ElseIf IsDate(mozi) Then
54
+
55
+ If DateValue(mozi) = 0 Then CheckFormat = True
56
+
57
+ End If
58
+
59
+ End Function
60
+
61
+ ```