Maybe you have option explicit, try this:
Sub MergeData()
    Dim i as Long
    Dim c1, c2 as Range
    Sheets("Sheet3").Range("A1") = Sheets("Sheet1").Range("A1")
    Sheets("Sheet3").Range("B1") = Sheets("Sheet1").Range("B1")
    Sheets("Sheet3").Range("C1") = Sheets("Sheet2").Range("A1")
    i = 2
    For Each c1 In Sheets("Sheet2").Range(Sheets("Sheet2").Range("A2"), Sheets("Sheet2").Range("A" & Sheets("Sheet2").rows.Count).End(xlUp))
        For Each c2 In Sheets("Sheet1").Range(Sheets("Sheet1").Range("A2"), Sheets("Sheet1").Range("A" & Sheets("Sheet1").rows.Count).End(xlUp))
            Sheets("Sheet3").Range("A" & i) = c2.Value
            Sheets("Sheet3").Range("A" & i).Offset(0, 1) = c2.Offset(0, 1).Value
            Sheets("Sheet3").Range("A" & i).Offset(0, 2) = c1.Value
            i = i + 1
        Next
    Next
End Sub