In that case you would need to format the text value directly for Excel not to round the number. Personally, I would use the whole number as is or perhaps use VBA to get the formatted barcode from the value saved as text (see below).
Function FormatBarCode(rng As Range) As String
If rng.Cells.Count > 1 Then Exit Function
FormatBarCode = Format(rng.Value, "#####-######-#####-####")
End Function
and also,
Function BarCodeFromFormat(rng As Range) As String
If rng.Cells.Count > 1 Then Exit Function
BarCodeFromFormat = Replace(rng.Value, "-", "")
End Function
Bookmarks