These key off the interior color of the destination cell, i.e. Yellow
If you wanted something different, like "Prior Actual" in col F and the second of each month-pair that could be done similarily
Option Explicit
Sub InsertAsFormula()
Dim rData As Range, rCell As Range
Dim bScreen As Boolean, bCalc As XlCalculation
bScreen = Application.ScreenUpdating
bCalc = Application.Calculation
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
With ActiveSheet
Set rData = Intersect(.UsedRange, .Cells(7, 8).Resize(, 24).EntireColumn)
End With
For Each rCell In rData.Cells
With rCell
If .Interior.Color = vbYellow Then
.Formula = "=" & .Offset(0, -1).Address
End If
End With
Next
Application.ScreenUpdating = bScreen
Application.Calculation = bCalc
MsgBox "Done"
End Sub
Sub InsertAsValue()
Dim rData As Range, rCell As Range
Dim bScreen As Boolean, bCalc As XlCalculation
bScreen = Application.ScreenUpdating
bCalc = Application.Calculation
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
With ActiveSheet
Set rData = Intersect(.UsedRange, .Cells(7, 8).Resize(, 24).EntireColumn)
End With
For Each rCell In rData.Cells
With rCell
If .Interior.Color = vbYellow Then
.Value = .Offset(0, -1).Value
End If
End With
Next
Application.ScreenUpdating = bScreen
Application.Calculation = bCalc
MsgBox "Done"
End Sub