Could someone explain why this doesn't work?

I get the error message: Invalid Next control variable reference
And it highlights the i in 'Next i'


Private Sub cmbTestSub_Click()
    Dim ws As Worksheet
    Dim i As Integer, r As Integer, col As Integer
    Set ws = Sheets("Sub Master")
For col = 1 To 143
    If ComboBox3.Value = Worksheets("PLHeadings").Range("C" & col + 3).Value Then
        For i = 1 To 12
        For r = 3 To 145
            If Me.Controls("txtY1M" & i).Value <> "" Then ws.Cells(r, 2 + i).Value = Me.Controls("txtY1M" & i).Value
            If Me.Controls("txtY2M" & i).Value <> "" Then ws.Cells(r, 14 + i).Value = Me.Controls("txtY2M" & i).Value
            If Me.Controls("txtY3M" & i).Value <> "" Then ws.Cells(r, 26 + i).Value = Me.Controls("txtY3M" & i).Value
            If Me.Controls("txtY4M" & i).Value <> "" Then ws.Cells(r, 38 + i).Value = Me.Controls("txtY4M" & i).Value
            If Me.Controls("txtY5M" & i).Value <> "" Then ws.Cells(r, 50 + i).Value = Me.Controls("txtY5M" & i).Value
        Next i
    End If
Next col
End Sub