A family of Microsoft spreadsheet software with tools for analyzing, charting, and communicating data.
Use the .Text property of the cell instead of the .Value - .Text is the cell-formatted .Value As long as your cells are properly formatted for the desired output, you are golden.
If you need to use a different format, then use
Format(Cell.Value,"format string")
For example, this will force two decimals
Print #1, "@ " & Format(Worksheets("List1").Cells(i, 1).Value,"0.00")