Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Dear All,
as you can see, this is an instruction to save a .CSV file from an excel file, but this conversion keep 2 decimal places only, so my question is how can I get 4 decimal places? instruction is If iUno < 0 And iDue < 0 Then Set objExcel = CreateObject("Excel.Application") objExcel.Workbooks.Open sNomeFile, 0, True sNomeFile = Replace(UCase(sNomeFile), "PRICES", "PricesNew") sNomeFile = Replace(UCase(sNomeFile), ".XLS", ".csv") objExcel.ActiveWorkbook.SaveAs sNomeFile, xlTextMSDOS, False (***) objExcel.Close objExcel = Nothing End If Regards Alberto Brivio |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Convert each number to text before making the sheet CSV
Cell = Format(Cell.Value, "@") If iUno < 0 And iDue < 0 Then Set objExcel = CreateObject("Excel.Application") objExcel.Workbooks.Open sNomeFile, 0, True sNomeFile = Replace(UCase(sNomeFile), "PRICES", "PricesNew") sNomeFile = Replace(UCase(sNomeFile), ".XLS", ".csv") With objExcel.ActiveWorkbook.ActiveSheet Set LastCell = .Cells _ .SpecialCells(xlCellTypeLastCell) Set ShtRange = .Range("A1", LastCell) End With For Each Cell In ShtRange If IsNumeric(Cell) Then Cell = Format(Cell.Value, "@") End If Next Cell objExcel.ActiveWorkbook.SaveAs sNomeFile, xlTextMSDOS, False objExcel.Close objExcel = Nothing End If "Alberto Brivio" wrote: Dear All, as you can see, this is an instruction to save a .CSV file from an excel file, but this conversion keep 2 decimal places only, so my question is how can I get 4 decimal places? instruction is If iUno < 0 And iDue < 0 Then Set objExcel = CreateObject("Excel.Application") objExcel.Workbooks.Open sNomeFile, 0, True sNomeFile = Replace(UCase(sNomeFile), "PRICES", "PricesNew") sNomeFile = Replace(UCase(sNomeFile), ".XLS", ".csv") objExcel.ActiveWorkbook.SaveAs sNomeFile, xlTextMSDOS, False (***) objExcel.Close objExcel = Nothing End If Regards Alberto Brivio |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I ran a skinnied down version of your macro in xl2003 and it kept lots more than
2 digits. Do you have a number format applied to the data (in excel)? Are the last 2 decimal places 0? Are you checking the output by opening the CSV file in Notepad? If you're opening in excel, try widening the columns after you open the .csv file. Alberto Brivio wrote: Dear All, as you can see, this is an instruction to save a .CSV file from an excel file, but this conversion keep 2 decimal places only, so my question is how can I get 4 decimal places? instruction is If iUno < 0 And iDue < 0 Then Set objExcel = CreateObject("Excel.Application") objExcel.Workbooks.Open sNomeFile, 0, True sNomeFile = Replace(UCase(sNomeFile), "PRICES", "PricesNew") sNomeFile = Replace(UCase(sNomeFile), ".XLS", ".csv") objExcel.ActiveWorkbook.SaveAs sNomeFile, xlTextMSDOS, False (***) objExcel.Close objExcel = Nothing End If Regards Alberto Brivio -- Dave Peterson |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|