1 つのワークシートの 2 つの列を、別のワークシートの 2 つ (またはそれ以上) の列と一致させようとしています。
ワークシート データのサンプルを投稿しました。この 1 週間で何をしようとしていたかをうまく説明できれば幸いです。私は正しい軌道に乗っていると思いますが、2 つのワークシートを適切に参照する方法がわかりません。
私がやりたいのは、場所 1 の列を見て、その場所が場所 1 または場所 2 のいずれかで私の RefSheet を参照しているかどうかを確認することです。
一致する場合は、場所 2 が RefSheet の同じ行のどこかに一致するかどうかを確認したいと思います。一致する場合は、セルを黄色で強調表示し、RefSheet から ID 番号を取得します。
一致がない場合は、赤で強調表示するか、強調表示しません。
Sheet All
A B C D
ID Location 1 Location 2 Given ID
1 West North
2 North South
3 South East
4 East West
5 East East
6 South West
Sheet RefSheet
A B C
ID Location 1 Location 2
1 West North
2 West East
3 South East
4 South North
What it should look like on the original Worksheet
A B C D
ID Location 1 Location 2 Given ID
1(Yellow) West North 1
2(Yellow) North South 4
3(Yellow) South East 3
4(Yellow) East West 2
5(Red) East East
6(Red) South West
これが私のひどいコードです
Sub roadfinder()
Dim lngLast As Long
Dim lngCounter As Long
Dim rCell As Range
Dim lCnt As Long
Dim nextIntersection
Dim RefSheet As Worksheet
Dim list As Worksheet
Set intersections = ThisWorkbook.Sheets("RefSheet")
Set crashes = ThisWorkbook.Sheets("All")
Application.ScreenUpdating = False
lngLast = Cells(Rows.Count, "B").End(xlUp).Row
For lngCounter = 2 To lngLast
With Cells(lngCounter, "B")
For Each rCell In RefSheet.Range("B1", RefSheet.Cells(RefSheet.Rows.Count, 1)).Cells
lCnt = lCnt + 1
'I wasn't sure what to put as a reference to
If .Value = "" Then
.Interior.ColorIndex = 6
End If
Next rCell
End With
Next lngCounter
Application.ScreenUpdating = True
End Sub