防止在Excel中附加重复logging,使用最新值

我有一个非常简单的Excel工作簿,其中包含约10列的库存信息。 我有三个移动扫描仪将数据导出到单个工作簿。 我有它设置为“附加”,以便数据不会被覆盖,但添加到工作簿。 如何防止将重复的logging添加到基于AssetId列的工作簿中,并且如果find重复项,我想最新用新值覆盖logging。

假设一旦工作表被改变并且在最后添加最新的数据,你希望这会自动发生:

 Private Sub Worksheet_Change(ByVal Target As Range) Dim assetIDRange, c3ll as Range 'all you need is an if statement here then. If sdsheet.Cells(Rows.Count, 1).End(xlUp).Row <= 2 Then Exit Sub Else lastRow = sdsheet.Cells(Rows.Count, 1).End(xlUp).Row End If Set assetIDRange = thisworkbook.sheets("SheetName").Range("A2:A" & lastRow - 1) newAssetID = thisworkbook.sheets("SheetName").cells(lastRow, 1) For each c3ll in assetIDRange if c3ll.value = newAssetID then c3ll.entirerow.delete exit sub end if next c3ll End Sub 

一定要将"SheetName"更改为您的工作表的实际名称。 这必须在工作表中完成,而不是一个新的模块。

如果在旧行中有数据要比在if语句中更改,请使用c3ll.row查找旧行并更改数据的方式。