When I ran your code I got an error on this line: Range(L2) = LHour ... and had to add parens around the L2, comme ca: Range("L2") = LHour
If that still doesn't run, you might try this construct: If IsError(Hour(Range(CellAlpha))) Then LHour = 0 Range("L2") = LHour Else LHour = Hour(Range(CellAlpha)) Range("L2") = LHour End If LMinute = Minute(Range(CellAlpha)) Range("M2") = LMinute LSecond = Second(Range(CellAlpha)) Range("N2") = LSecond Do you need to store LHour, LMinute, and LSecond as variables for use later in the code? You store those as variables and use them on the very next line, which is a little chunky _unless_ you need to use them later. If you _don't_ need to use them later, you can combine the range assignment line and the variable assignment line, like this: Range("M2") = Minute(Range(CellAlpha)) My apologies if you know that already- I don't mean to be critical- Dave O Eschew Obfuscation -- ---------------------------------------------------------------------------------- Some important links for excel users: 1. Follow us on TWITTER for tips tricks and links : http://twitter.com/exceldailytip 2. Join our LinkedIN group @ http://www.linkedin.com/groups?gid=1871310 3. Excel tutorials at http://www.excel-macros.blogspot.com 4. Learn VBA Macros at http://www.quickvba.blogspot.com 5. Excel Tips and Tricks at http://exceldailytip.blogspot.com To post to this group, send email to excel-macros@googlegroups.com <><><><><><><><><><><><><><><><><><><><><><> Like our page on facebook , Just follow below link http://www.facebook.com/discussexcel