我在两张不同的工作表上的大表中有两张数据快照。基本上,工作表的内容相同,但数字来自不同的时刻。我需要计算这些时刻之间的增量。
如何轻松计算增量(例如,从工作表 2 中减去工作表 1 上的每个单元格,并将结果存储在工作表 3 上的相应单元格中)?非数字单元格具有相同的内容,应按原样复制。
我更喜欢可以与 LibreOffice Calc 配合使用的东西,但使用 MS Excel 来实现这一点也是可以接受的。
答案1
以下代码比较工作表1到工作表2。 如果工作表1包含文本或空白,这些单元格将直接复制到工作表3。 如果工作表1单元格包含数字,则代码从中减去该值工作表2并将差值存储在工作表3:
Sub BigDelta()
Dim s1 As Worksheet, s2 As Worksheet, s3 As Worksheet
Dim rng As Range, addy As String, v As Variant, cell As Range
Set s1 = Sheets("Sheet1")
Set s2 = Sheets("Sheet2")
Set s3 = Sheets("Sheet3")
Set rng = s1.UsedRange
For Each cell In rng
addy = cell.Address
v = cell.Value
If v = "" Then
ElseIf IsNumeric(v) Then
s3.Range(addy) = v - s2.Range(addy)
Else
s3.Range(addy) = v
End If
Next cell
End Sub