I'm not sure if you actually looked at my code in post #4, but it is not the same as the previous suggestions (if that is what you were referring to by "tried that some time ago"). I will post a sample from your code that has the same methods as mine in post #4:
    For Each samploc1 In simspg1
        x = 2
        For x = 2 To 10
        If Cells(x, 14).Value = samploc1 Then GoSub populate
        dup1 = Cells(x, 14).Value
        Next
    Next
Notice the position of x = 2. This will reset x to 2 with each iteration of samploc1.