問題に関しては、バリアント配列 A のすべてのデータをバリアント配列 B のすべてのデータと比較できるようにする必要があります。(すべての A 値がすべての B 値に対してチェックされるように) ある種の二重ループが必要であることはわかっていますが、私はそれを行う方法を理解できません。これが私がこれまでに持っているものです:
Sub Button_Click()
Dim trgtRange As Variant
Dim tempRange As Variant
Set myRange = ThisWorkbook.Sheets(1).Range("L:L")
For Each cell In myRange
If IsEmpty(cell) Then
ActiveCell.Offset(-1, 0).Select
currentRow = ActiveCell.Row
Set trgtRange = Range("L2:L" & currentRow)
Exit For
End If
Next cell
Set tempRange = Range("A1:A" & currentRow - 1)
' Insert a double loop here
End Sub
つまり、trgtRange
バリアント A であり、tempRange
バリアント B です。バリアント B をもう少し簡単に設定できたことはわかっていますが、すでにそのように設定しています。結局のところ、コードは最終操作として洗練されるべきです。
バリアント A とバリアント B がまったく同じである理由が不思議に思われるかもしれません。これは、互いに近い値 (つまり、10000 と 12000) を見つけるためにそれらを比較する必要があり、そのために何らかの許容範囲を組み込む必要があるためです。