回答編集履歴

2

コード追記

2021/07/11 05:40

投稿

hatena19
hatena19

スコア34064

test CHANGED
@@ -69,3 +69,39 @@
69
69
  End If
70
70
 
71
71
  ```
72
+
73
+ ---
74
+
75
+ ループ処理で検索する方法のコード例
76
+
77
+ ```vba
78
+
79
+ Dim rng As Range, flg As Boolean
80
+
81
+ For Each rng In Range("C9:C24")
82
+
83
+ If Format(rng.Value, "hh:mm") = "12:30" Then
84
+
85
+ flg = True
86
+
87
+ Exit For
88
+
89
+ End If
90
+
91
+ Next
92
+
93
+ If flg = False Then
94
+
95
+ MsgBox "sheet2に時間がなく、" & vbCrLf & "削除出来ませんでした。" & vbCrLf & "プログラムを強制終了します。"
96
+
97
+ sht_1.Activate
98
+
99
+ Exit Function
100
+
101
+ End If
102
+
103
+ ```
104
+
105
+
106
+
107
+ ```

1

説明追記

2021/07/11 05:40

投稿

hatena19
hatena19

スコア34064

test CHANGED
@@ -40,4 +40,32 @@
40
40
 
41
41
 
42
42
 
43
- Match関数では日付/時刻型では検索できないのでCDblでの変換は必須なので、Match関数はあきらめてループで処理するぐらいしかなさそうです。あるいはFind関数でもいけるかも。
43
+ Match関数では日付/時刻型では検索できないのでCDblでの変換は必須なので、Match関数はあきらめてループで処理するぐらいしかなさそうです。あるいはFindメソッドでもいけるかも。
44
+
45
+
46
+
47
+ Findメソッドのコード例
48
+
49
+ ```vba
50
+
51
+ '###################################
52
+
53
+ '# 時間の行検索
54
+
55
+ '###################################
56
+
57
+ Dim rng As Range
58
+
59
+ set rng = Range("C9:C80").Find(CDate(num2(1)))
60
+
61
+ If Rng Is Nothing Then
62
+
63
+ MsgBox "sheet2に時間がなく、" & vbCrLf & "削除出来ませんでした。" & vbCrLf & "プログラムを強制終了します。"
64
+
65
+ sht_1.Activate
66
+
67
+ Exit Function 'Endで強制終了は危険なのでExitに変更
68
+
69
+ End If
70
+
71
+ ```