回答編集履歴
4
表示修正
answer
CHANGED
@@ -10,7 +10,8 @@
|
|
10
10
|
Dim k, i, i2 As Long
|
11
11
|
Dim TMaxRow As Variant
|
12
12
|
Dim start, start2, ennd, ennd2 As Date
|
13
|
-
Dim name, name2 as String
|
13
|
+
Dim name, name2 as String '分かりやすいように名前変数を足しました
|
14
|
+
|
14
15
|
k = Range("A1").End(xlDown).Row
|
15
16
|
|
16
17
|
'下側から順番に走査する
|
3
バグ修正
answer
CHANGED
@@ -10,24 +10,26 @@
|
|
10
10
|
Dim k, i, i2 As Long
|
11
11
|
Dim TMaxRow As Variant
|
12
12
|
Dim start, start2, ennd, ennd2 As Date
|
13
|
-
|
13
|
+
Dim name, name2 as String
|
14
14
|
k = Range("A1").End(xlDown).Row
|
15
15
|
|
16
16
|
'下側から順番に走査する
|
17
17
|
For i = k To 2 Step -1
|
18
|
-
'「比較元」の
|
18
|
+
'「比較元」のデータ
|
19
|
+
name = Cells(i, 1)
|
19
|
-
start = Cells(i,
|
20
|
+
start = Cells(i, 2) + Cells(i, 3)
|
20
|
-
ennd = Cells(i,
|
21
|
+
ennd = Cells(i, 4) + Cells(i, 5)
|
21
|
-
|
22
|
+
|
22
23
|
'iの1つ上を起点に、下から順番に走査する
|
23
24
|
'(i2を2行目まで走査してしまうと、i=i2の時に初めの行まで消されてしまうので注意です。)
|
24
25
|
For i2 = k - 1 To 3 Step -1
|
25
|
-
'「比較先」の
|
26
|
+
'「比較先」のデータ
|
27
|
+
name2 = Cells(i2, 1)
|
26
|
-
start2 = Cells(
|
28
|
+
start2 = Cells(i2, 2) + Cells(i2, 3)
|
27
|
-
ennd2 = Cells(
|
29
|
+
ennd2 = Cells(i2, 4) + Cells(i2, 5)
|
28
30
|
|
29
31
|
'名前が同じかつ、時間が同じとき
|
30
|
-
If
|
32
|
+
If name = name2 And start = start2 And ennd = ennd2 Then
|
31
33
|
|
32
34
|
'重複している行のうち、上側のものを削除
|
33
35
|
Rows(i2).Delete
|
2
コード内のコメント修正
answer
CHANGED
@@ -19,8 +19,8 @@
|
|
19
19
|
start = Cells(i, "B") + Cells(i, "C")
|
20
20
|
ennd = Cells(i, "D") + Cells(i, "E")
|
21
21
|
|
22
|
-
'iの1つ上を起点に、下から順番に走査する
|
22
|
+
'iの1つ上を起点に、下から順番に走査する
|
23
|
-
'i=i2の時に初めの行まで消されてしまうので注意です。)
|
23
|
+
'(i2を2行目まで走査してしまうと、i=i2の時に初めの行まで消されてしまうので注意です。)
|
24
24
|
For i2 = k - 1 To 3 Step -1
|
25
25
|
'「比較先」の日付
|
26
26
|
start2 = Cells(i - i2, "B") + Cells(i - i2, "C")
|
1
誤植修正
answer
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
・次からはインデントをつけるようにしてくださいね。
|
4
4
|
・なるべくGotoを使うのは避けましょう
|
5
|
-
・cellでは、`cell(1,1)`のように、数字でアドレスをし
|
5
|
+
・cellでは、`cell(1,1)`のように、数字でアドレスを指定します。
|
6
6
|
→rangeでは、`range(A1)`のように、英字+数字の名前を使う時にはRangeを使ってください。
|
7
7
|
|
8
8
|
```VBA
|