teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

コード修正

2020/01/07 06:52

投稿

hatena19
hatena19

スコア34367

answer CHANGED
@@ -9,7 +9,7 @@
9
9
  Dim Hani As Range
10
10
 
11
11
  EndRow = Range("E" & Rows.Count).End(xlUp).Row
12
- For i = EndRow To 2 Step -1
12
+ For i = EndRow To 3 Step -1
13
13
  Set Hani = Range(Range("E2"), Range("E" & i - 1))
14
14
  For Each rng In Hani
15
15
  If rng.Value = Range("E" & i) And rng.Offset(, 4).Value = Range("I" & i) Then

1

コード追加

2020/01/07 06:52

投稿

hatena19
hatena19

スコア34367

answer CHANGED
@@ -23,4 +23,25 @@
23
23
  End If
24
24
  Next i
25
25
  End Sub
26
+ ```
27
+
28
+ ---
29
+ Dictionaryを使って重複チェックするコード例
30
+
31
+ ```vba
32
+ Sub DataDelete2()
33
+ Dim d As Object
34
+ Set d = CreateObject("Scripting.Dictionary")
35
+ Dim EndRow As Long
36
+ EndRow = Range("E" & Rows.Count).End(xlUp).Row
37
+
38
+ Dim i As Long
39
+ For i = EndRow To 2 Step -1
40
+ If d.Exists(Cells(i, "E") & ";" & Cells(i, "I")) Then
41
+ Range("E" & i).EntireRow.Delete
42
+ Else
43
+ d(Cells(i, "E") & ";" & Cells(i, "I")) = i
44
+ End If
45
+ Next i
46
+ End Sub
26
47
  ```