hi guys, i have the below code for sumif function

however, is there a cleaner way to loop this through to the last filled cell in column A instead of listing many lines like below? Thanks.

Sub Sumif()



    Set MyRg1 = Sheets("Data2").Range("A:A")
    Set MyRg2 = Sheets("Fruit").Range("L:L")
    Sheets("Data2").Cells(2, "B") = WorksheetFunction.SumIf(MyRg1, Cells(2, "A"), MyRg2)
    Sheets("Data2").Cells(3, "B") = WorksheetFunction.SumIf(MyRg1, Cells(3, "A"), MyRg2)
    Sheets("Data2").Cells(4, "B") = WorksheetFunction.SumIf(MyRg1, Cells(4, "A"), MyRg2)
    Sheets("Data2").Cells(5, "B") = WorksheetFunction.SumIf(MyRg1, Cells(5, "A"), MyRg2)
    Sheets("Data2").Cells(6, "B") = WorksheetFunction.SumIf(MyRg1, Cells(6, "A"), MyRg2)
    Sheets("Data2").Cells(7, "B") = WorksheetFunction.SumIf(MyRg1, Cells(7, "A"), MyRg2)
    Sheets("Data2").Cells(8, "B") = WorksheetFunction.SumIf(MyRg1, Cells(8, "A"), MyRg2)
    Sheets("Data2").Cells(9, "B") = WorksheetFunction.SumIf(MyRg1, Cells(9, "A"), MyRg2)
    Sheets("Data2").Cells(10, "B") = WorksheetFunction.SumIf(MyRg1, Cells(10, "A"), MyRg2)
    Sheets("Data2").Cells(11, "B") = WorksheetFunction.SumIf(MyRg1, Cells(11, "A"), MyRg2)
    Sheets("Data2").Cells(12, "B") = WorksheetFunction.SumIf(MyRg1, Cells(12, "A"), MyRg2)
    Sheets("Data2").Cells(13, "B") = WorksheetFunction.SumIf(MyRg1, Cells(13, "A"), MyRg2)
    Sheets("Data2").Cells(14, "B") = WorksheetFunction.SumIf(MyRg1, Cells(14, "A"), MyRg2)
    Sheets("Data2").Cells(15, "B") = WorksheetFunction.SumIf(MyRg1, Cells(15, "A"), MyRg2)
    Sheets("Data2").Cells(16, "B") = WorksheetFunction.SumIf(MyRg1, Cells(16, "A"), MyRg2)
    

End Sub