View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.programming
Stefi Stefi is offline
external usenet poster
 
Posts: 2,646
Default VBA SAVEAS TXT DATA PROBLEMS

This Sub will do the job:

Sub ColConv(ColToConv, RngStart, RngEnd, WorkCol, FormCode)
ColDist = Range(WorkCol & 1).Column - Range(ColToConv & 1).Column
Range(ColToConv & RngStart & ":" & ColToConv & RngEnd).NumberFormat = "@"
Range(WorkCol & RngStart).FormulaR1C1 = "=TEXT(RC[-" & ColDist & "]," &
" """ & FormCode & """) "
Range(WorkCol & RngStart & ":" & WorkCol & RngEnd).Select
Selection.FillDown
Selection.Copy
Range(ColToConv & RngStart & ":" & ColToConv & RngEnd).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Application.CutCopyMode = False
Range(WorkCol & RngStart & ":" & WorkCol & RngEnd).ClearContents
End Sub

Usage:

Call ColConv("A", 1, 6, "J", "dd/mm/yyyy")

Parameters:
1. Column to be converted ("A")
2. first row of range to be converted (1)
3. last row of range to be converted (6)
4. any unused helper column("J")
5. format code ("dd/mm/yyyy")

Regards,
Stefi

€˛podskubka€¯ ezt Ć*rta:

Thanks
As I want other people use this macro I would like to modify my code
rather the windows settings. As I am quite new into VBA could you
please show me more detailed code how to change format?
Cheers.
P.