Hej NG
Jeg har en Excel macro, som jeg har lidt problemer med, og da jeg ikke
er programmør og derfor ikke selv har lavet macroe, driller det endnu
mere
Macroen tager input fra en tabulator separeret txt fil og kopiere det
ind i et excel regneark. Det fungere alt sammen godt, men der er et
eller andet i copy / paste funktionen der roder rundt i datoerne. Hvis
der i txt filen f.eks står datoen 09-07-2007 (dd-mm-åååå) så kommer
det til at stå som 07-09-2007 (mm-dd-åååå) i excel arket. Hvis datoen
derimod er 13-07-2007, så komer det rigtigt ind (dd-mm-åååå). Med
andre ord så vender macroen rundt på dd og mm hvis dagen er 12 eller
derunder. Er dagen over 12 så ser output rigtigt ud.
Macroen bruger en output.xls fil, og her er formatet af den kolonne,
hvor datoerne står, rigtigt format (dd-mm-åååå)
Txt filen består af 6 tabulator separeret kolonner som skal kopieret
over i regnearket og dato kolonnen er den første. De øvrige kolonner
er bare tekst og der er ingen problemer.
Nedenfor er udsnit af macroen. (Jeg tror at det er her et eller andet
sted at problemet ligger, da det jo ser forkert ud når det ligger i
output.xls regnearket)
På forhånd tak.
John K.
Function Textfile_Open()
Dim b As Boolean
oWorkBook_XLM.Activate
sStart_Dir = Left(ActiveWorkbook.Path, 3)
If Left(sTextFile_Dir_NamePROP & "?", 1) = "?" Then
MsgBox "Please, Open Your Text File."
b = Application.Dialogs(xlDialogOpen).Show
If b = False Then End
sTextFile_Dir_NamePROP = ActiveWorkbook.Path & "\" &
ActiveWorkbook.Name
Else
ChDir Left(sTextFile_Dir_NamePROP, 3)
Workbooks.OpenText Filename:=sTextFile_Dir_NamePROP,
Origin:=xlWindows, _
StartRow:=1, DataType:=xlDelimited,
TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False,
Comma:=False, _
Space:=False, Other:=False
End If
ChDir sStart_Dir
Set oWorkbook_TextFile = ActiveWorkbook
Cells(1, 1).Select
Cells.Select
Selection.Copy
oSheet_ModelCopy.Activate
Cells(1, 1).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:=False 'BARA VÄRDEN klistras in!
Application.CutCopyMode = False
oWorkbook_TextFile.Close
End Function 'TextfileOpen
Function Lines_Format()
Dim n As Integer, Nmax As Integer
oSheet_ModelCopy.Activate
Application.GoTo "FormatLines" '12(?)anvädar-formaterade rader
Selection.Copy
Range("A1").Select
Nmax = Range("A1").CurrentRegion.Rows.Count
For n = Range("FormatLines").Row To Nmax Step
Range("FormatLines").Rows.Count
Rows(n & ":" & n + Range("FormatLines").Rows.Count - 1).Select
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone,
SkipBlanks:= _
False, Transpose:=False
Next n
Application.CutCopyMode = False
n = Nmax + 1
Rows(n & ":" & n + Range("FormatLines").Rows.Count - 1).Select
Selection.Clear 'rensa formatet på avslutande tommarader
Range("A1").Select
End Function 'Lines_Format