A family of Microsoft spreadsheet software with tools for analyzing, charting, and communicating data
I would do it this way.
Andreas.
Sub Test()
Dim Where As Range
Dim ArrayData2D As Variant
Dim ArrayData3D As New Collection
'Refer to some cells
Set Where = Range(Cells(1, 1), Cells(20, 10))
'Get the 1st set of value
ArrayData2D = Where.Value
'Store
ArrayData3D.Add ArrayData2D, "Layer 1"
'Overwrite with something
Where.Value = "x"
'Get the 2nd set of value
ArrayData2D = Where.Value
'Store
ArrayData3D.Add ArrayData2D, "Layer 2"
'Reload the 1st set
ArrayData2D = ArrayData3D.Item("Layer 1")
'Flush into the sheet
Where.Value = ArrayData2D
End Sub