Both your constructions work fine if the input data is valid. The 'M6' construction will give you trouble if the value is NOT a number. You probably need to employ some defensive programming techniques with that one to make sure that nothing will go wrong, go wrong, go wrong.
Please NOTE that 'Sheets(1)' always uses the sheet that is the first tab (all the way on the left). Many programmers prefer the method you use. My personal preference is to use 'Sheets("SheetX")' or whatever the actual 'Sheet Name' is.
See the following examples which use your code exactly as is (tested and working):
You may also want to check to make sure iCnt is in the expected range.
Lewis
Bookmarks