the simplest way is to take that into account while inserting formulas: if the data is located on Sheet1 and will not be transfered over to Sheet2, fix it to Sheet1, example:
The easiest VB option is to make a link of all numbers to Sheet1. Though it will not preserve formula but the "linked" value from Sheet1 (may be it will suit your needs):
Sub test()
Dim product As String, rng2copy As Range, rng4search As Range
With Sheets("Sheet2")
product = .Range("a2")
With Sheets("Sheet1")
Set rng4search = .Range(.UsedRange.Find("Product Data Tables:", , xlValues, xlWhole), .Cells(Rows.Count, "c").End(xlUp))
If Not rng4search Is Nothing Then Set rng2copy = rng4search.Find(product, , xlValues, xlWhole)
End With
If Not rng2copy Is Nothing Then
Application.ScreenUpdating = 0
.Range("a4:g9").ClearContents
.ChartObjects.Delete
rng2copy.Resize(2, 4).Copy .Range("a4")
rng2copy.Offset(, 4).Resize(6, 3).Copy .Range("e4")
.Range("a6:d8") = "=Sheet1!A" & rng2copy.Row + 2
Application.ScreenUpdating = 1
End If
End With
End Sub
Bookmarks