2

問題に関しては、バリアント配列 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) を見つけるためにそれらを比較する必要があり、そのために何らかの許容範囲を組み込む必要があるためです。

4

1 に答える 1