Great, now you see why the msgbox pops up, it´s because some emails have more than just the expected attachments. Your error is a logical one: You don´t know at which position the Excel attachment is, so you cannot display the "not found" message and leave the loop as soon as it hits a non Excel attachment because the Excel attachment you´re looking for could be at the next position.
If you need to ensure that only one attachment per email is saved, then leave the loop after the attachment has been saved. If it should be possible to save more than one attachment, then don´t leave the loop at all.