0

我有一个存储导入数据的表。每次导入时,我都需要检查导入的项目是否已经存在。我为此使用了一个唯一的 ID,它工作正常。但是匹配的原因可能是正在导入相同的记录(对创建导入数据的日期范围没有控制),或者数据实际上可能已被修改。

所以我的问题是,要查看它是哪种类型,我打算对这条记录的 11 个货币字段进行计算。我不能把它们加起来,因为修改一个字段(比如增加 10,会减少另一个字段 10)。我想到了 Field1 x1 + Field2 x2 等应该消除依赖关系。

我认为这不是真正的 vba 问题,而是更多的数据唯一性问题。

当然我可以比较 11 个值,但这在 VBA 中很乱!欢迎任何想法。非常感谢。

数据示例 当前数据库中的记录: Receipt Payment DealValue Tax Duties etc 3,500 0 3,600 100 0 //3,600 - 100 = 3,500 净收入

进口记录 Receipt Payment DealValue Tax Duties etc 3,500 0 3,650 150 0 //3,650 - 150 = 3,500 净收入

我不想创建一个 ID,只是一个可以比较以查看是否有变化的计算。

4

1 回答 1

0

在循环方法中,您将执行以下操作:

firstColumnOfInterestIndex = ...
lastColumnOfInterestIndex = ...
duplicate = False
...
For Each currentRow In ActiveSheet
    For i=firstColumnOfInterestIndex to lastColumnOfInterestIndex  
        If Worksheet.Cells(currentRow.Row, i) <> expectedValue(i) Then
              Exit For
        End If
        If i == lastColumnOfInterestIndex Then
             ' A duplicate found! handle accordingly
             duplicate = True
        End If
    Next i
    If duplicate Then
         Exit For
    End If
Next currentRow
于 2020-05-09T23:28:02.860 回答