質問編集履歴

2

空のセルの条件分岐を入れる際、セルの列が重なっていたため、Iに変えました。

2021/03/08 11:16

投稿

noboru79
noboru79

スコア2

test CHANGED
File without changes
test CHANGED
@@ -60,9 +60,9 @@
60
60
 
61
61
     Range("H1").Value = sign
62
62
 
63
-    時間 = Cells(Rows.Count, "H").End(xlUp).Row + 1
63
+    時間 = Cells(Rows.Count, "I").End(xlUp).Row + 1
64
64
 
65
-  Range("H" & 時間).Value = Format(Now(), "Short Time")
65
+  Range("I" & 時間).Value = Format(Now(), "Short Time")
66
66
 
67
67
  Else
68
68
 

1

具体的コードを書き、詰まっている点を書きました。

2021/03/08 11:16

投稿

noboru79
noboru79

スコア2

test CHANGED
@@ -1 +1 @@
1
- VBA 現在時刻より前に条件文で一致した事を繰り返さないするための書き教えて下さい。
1
+ VBA 現在時刻より前に条件文で一致した事を10分以内に繰り返さない記述
test CHANGED
@@ -1,7 +1,97 @@
1
- VBAでFOR文の中でIFで条件分岐させている形なのですが、1分おきにFOR文を起動させているので、
1
+ ```VBA
2
2
 
3
- 同じ条件を繰り返し表示させている状態です。
3
+ Dim i As Long
4
4
 
5
+ Dim 時間 As Long
6
+
7
+ 省略
8
+
9
+
10
+
11
+ Sub timer()
12
+
13
+ Dim StartTime As Date: StartTime = TimeValue("08:00:00")
14
+
15
+ Dim TimerInterval As Date: TimerInterval = TimeValue("00:01:00")
16
+
17
+
18
+
19
+ If Time < StartTime Then
20
+
21
+ Application.OnTime StartTime, "timer"
22
+
23
+ ElseIf Time < TimeValue("09:00:00") Then
24
+
25
+ Call 稼働
26
+
27
+ Application.OnTime Now() + TimerInterval, "timer"
28
+
29
+
30
+
31
+
32
+
33
+ 省略
34
+
35
+ Else
36
+
37
+ End If
38
+
39
+
40
+
41
+ End Sub
42
+
43
+
44
+
45
+ Sub 稼働()
46
+
47
+
48
+
49
+ For i = 1 To Worksheets.Count
50
+
51
+ Sheets(i).Select
52
+
53
+ If Range("C3").Value <= Range("C4").Value Then
54
+
55
+ If Range("E5").Value >= Range("E6").Value Then
56
+
57
+ If Range("H1").Value = "" Then
58
+
59
+    
60
+
61
+    Range("H1").Value = sign
62
+
63
+    時間 = Cells(Rows.Count, "H").End(xlUp).Row + 1
64
+
65
+  Range("H" & 時間).Value = Format(Now(), "Short Time")
66
+
67
+ Else
68
+
69
+ End If
70
+
71
+ Else
72
+
73
+ End If
74
+
75
+ Else
76
+
77
+ End If
78
+
79
+
80
+
81
+ Next
82
+
83
+
84
+
85
+ End Sub
86
+
87
+ ```
88
+
89
+ VBAでFOR文の中でIFで条件分岐させている形なのですが、1分おきにFOR文を起動させています。
90
+
91
+ このインターバル時間は変更することなく、
92
+
93
+ 同じ条件を繰り返し表示させないため、あるセルを空の状態であればという条件を加えて、それ以降は表記させないようにしています。
94
+
5
- これを1分に満たした条件は表示させないようにするには、どういった書き方があるでしょうか?
95
+ これを10おき再び同条件が満たせば表示させようにするには、どういった書き方があるでしょうか?
6
96
 
7
97
  宜しくお願いします。