두 개의 서로 다른 시트에 있는 큰 테이블에 두 개의 데이터 스냅샷이 있습니다. 기본적으로 시트의 내용은 동일하지만 숫자는 시점이 다릅니다. 이 순간들 사이의 델타를 계산해야 합니다.
델타를 쉽게 계산하는 방법(예: 시트 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