Aufgenommenes Makro ändert Datumsformat?
30.04.2015 12:57:23
Joerg
bin neu hier, dieses Forum hat mir schon so einige Fragen als Leser beantwortet.
Nun muss ich aber einen Beitrag erstellen!
Ich arbeite mit Excel 2007.
Ich habe einen Datensatz der so aussieht:
released 3969601 1672821 05-05-15 31-03-15 29-04-15 16:44
released 3969602 1673181 05-05-15 27-04-15 29-04-15 16:44
released 3969603 1673189 05-05-15 27-04-15 29-04-15 16:44
released 3969604 1673190 05-05-15 27-04-15 29-04-15 16:44
released 3969605 1673192 05-05-15 28-04-15 29-04-15 16:44
released 3969606 1673193 05-05-15 27-04-15 29-04-15 16:44
released 3969607 1673194 05-05-15 27-04-15 29-04-15 16:44
Fokus liegt dabei auf Spalte D bis F, also die, wo das Datum in DD-MM-YY steht.
Ich habe eine vorformatierte Excel-File, in die ich diese Daten einfüge (paste) oder als Reintext einfüge (paste special) und dann über "Text in Spalten" entsprechend splitte.
Nun zum Problem: Wenn ich ein Makro aufnehme und es dann starte, kreiert mir das Makro in den Datumsspalten unterschiedliche Layouts.
Ist der TAG einstellig (z.B. 5.4.2015) dann 5.5.2015 (OK), ist der TAG zweistellig (z.B. 27.4.2015) dann 27-04-15 (nicht OK).
Das führt dazu, dass meine nachgelagerten Formeln nicht mehr funktionieren.
hier das Makro:
' Keyboard Shortcut: Ctrl+o
'
ActiveSheet.Paste
Selection.TextToColumns Destination:=Range("A3"), DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(8, 1), Array(16, 1), Array(24, 1), Array(33, 1), _
Array(42, 1), Array(51, 1), Array(57, 1), Array(88, 1), Array(90, 1), Array(96, 1), Array( _
106, 1), Array(114, 1), Array(124, 1), Array(129, 1), Array(135, 1)), _
TrailingMinusNumbers:=True
ActiveSheet.Range("$A$2:$T$110").AutoFilter Field:=1, Criteria1:="--------"
Rows("57:119").Select
Selection.Delete Shift:=xlUp
ActiveSheet.Range("$A$2:$T$104").AutoFilter Field:=1
ActiveWindow.SmallScroll Down:=-21
Range("Q3").Select
Selection.AutoFill Destination:=Range("Q3:Q104")
Range("Q3:Q104").Select
ActiveWorkbook.Worksheets("08").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("08").AutoFilter.Sort.SortFields.Add Key:=Range( _
"E2:E104"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortTextAsNumbers
With ActiveWorkbook.Worksheets("08").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
ActiveWorkbook.Worksheets("08").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("08").AutoFilter.Sort.SortFields.Add Key:=Range( _
"Q2:Q104"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortTextAsNumbers
With ActiveWorkbook.Worksheets("08").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Danke für Tips im voraus
Joerg