Sub ProcessData()
Dim wksSource As Worksheet, wksDestn As Worksheet
Dim lngSrcLastRow As Long, lngDstLastRow As Long, i As Long, j As Long
'\\ Set necessary references
Set wksSource = Worksheets("Allocation Data")
Set wksDestn = Worksheets("Tally")
lngSrcLastRow = wksSource.Range("A" & Rows.Count).End(xlUp).Row
lngDstLastRow = wksDestn.Range("A" & Rows.Count).End(xlUp).Row
Application.DisplayAlerts = False
Application.ScreenUpdating = False
'\\Loop through ranges on both sheets
For i = 2 To lngSrcLastRow
For j = 2 To lngDstLastRow
If wksDestn.Range("A" & j).Value = wksSource.Range("A" & i).Value And _
InStr(wksDestn.Range("B" & j).Value, wksSource.Range("B" & i).Value) > 0 Then
wksDestn.Range("P" & j).Value = wksSource.Range("C" & i).Value
wksDestn.Range("Q" & j).Value = wksSource.Range("D" & i).Value
wksDestn.Range("R" & j).Value = wksSource.Range("E" & i).Value
wksDestn.Range("S" & j).Value = wksSource.Range("F" & i).Value
wksDestn.Range("T" & j).Value = wksSource.Range("G" & i).Value
wksDestn.Range("U" & j).Value = wksSource.Range("H" & i).Value
wksDestn.Range("V" & j).Value = wksSource.Range("I" & i).Value
'\\ Remove comment mark from below line if you expect only ONE match
'Exit for
End If
Next j
Next i
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub