我在兩張不同的工作表上的大表中有兩個資料快照。基本上,這些表格的內容相同,但數字來自不同的時間點。我需要計算這些時間點之間的增量。
如何輕鬆計算增量(例如,從工作表 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