I had a friend write this code for me a long time ago and it works really well. I'm trying to get into VBA myself and was wondering if anyone could explain the logic behind the code. I'm having a hard time understand why it was written this way and what each line accomplishes. The point of this module is to convert the decimal part of a cell from 1/8 to 1/10. As an example the number 300.4 would be converted to 300.5 after running the macro.

Sub DecimalConverter()
' Convert8to10 Macro
' Macro recorded 12/8/2008
' Convert decimal from 8ths to 10ths

Lastrow = Range("Au5536").End(xlUp).Row
For Each Cell In Range("Au1", Cells(Lastrow, 47))
If IsNumeric(Cell.Value) And _
Cell.HasFormula = False And _
Cell.Value <> "" Then
Cell.Value = Int(Cell.Value) _
+ (Cell.Value - Int(Cell.Value)) * 10 / 8
End If
Next Cell
End Sub


Any input on the code would be greatly appreciated.

Vjay