Quote Originally Posted by Norie View Post
You should use another variable for the destination row as it's no always the same as the source row.
Sub Simulate()
Dim away_team As String
Dim home_team As String
Dim away_ML As Long
Dim home_ML As Long
Dim away_line As String
Dim home_line As String
Dim loca As String
Dim dstRow As Long

    g = Sheet3.Cells(Rows.Count, "B").End(xlUp).Row

    Sheet3.Range("K4:BF101").ClearContents

    dstRow = 4

    For a = 4 To g

        away_team = Sheet3.Cells(a, 7).Value
        home_team = Sheet3.Cells(a, 8).Value
        away_ML = Sheet3.Cells(a, 4).Value
        home_ML = Sheet3.Cells(a, 5).Value
        home_line = Sheet3.Cells(a, 3).Value
        away_line = home_line * -1
        loca = Sheet3.Cells(a, 6).Value

        Sheet3.Cells(dstRow, 11).Value = Sheet3.Cells(a, 2).Value & "A"
        Sheet3.Cells(dstRow + 1, 11).Value = Sheet3.Cells(a, 2).Value & "B"

        If loca = "H" Then
            Sheet3.Cells(dstRow, 12).Value = "A"
            Sheet3.Cells(dstRow + 1, 12).Value = "H"
        ElseIf loca = "N" Then
            Sheet3.Cells(dstRow, 12).Value = "N"
            Sheet3.Cells(dstRow + 1, 12).Value = "N"
        End If

        Sheet3.Cells(dstRow, 13).Value = away_line
        Sheet3.Cells(dstRow + 1, 13).Value = home_line
        Sheet3.Cells(dstRow, 14).Value = away_ML
        Sheet3.Cells(dstRow + 1, 14).Value = home_ML
        Sheet3.Cells(dstRow, 15).Value = away_team
        Sheet3.Cells(dstRow + 1, 15).Value = home_team
        Sheet3.Cells(dstRow, 16).Value = home_team
        Sheet3.Cells(dstRow + 1, 16).Value = away_team

        dstRow = dstRow + 2

    Next a

End Sub
This worked perfectly - thanks for the insight!