Я думаю, что ваша проблема здесь:
LResult = Sheets("Sheet2").Range("A1")
LResult = Left(LResult, 4)
JResult = Sheets("Sheet2").Range("A2")
JResult = Left(LResult, 2)
должна ли последняя строка не быть JResult = Left(JResult, 2)
?
в том виде, в котором он работает в данный момент, он перезапишет значение, назначенное вами для ячейки sheet2 A2, с двумя самыми левыми символами в ячейке sheet2 A1. Если это значение не отображается в столбце AA, то критерии в вашем операторе if никогда не будут оценены как истинные.