2015-01-12 7 views
2

第一次在論壇中提問時,請耐心等待:D。適用於「dd.mm.yyyy」的Selection.Replace(「。」)返回「mm-dd-yyyy」

在使用宏時,我需要從來自SAP的文件中更改Whole Columns日期。日期格式爲「dd.mm.yyyy」。我需要替換「。」爲「 - 」,也適用日期格式「dd-MM-yyyy」。即時通訊使用此代碼:

range(Selection, Selection.End(xlDown)).Select 
    Selection.NumberFormat = "dd-mm-yyyy" 
    Selection.Replace What:=".", Replacement:="-", LookAt:=xlPart, _ 
     SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _ 
     ReplaceFormat:=False 

該方法返回的日期爲 「MM-DD-YYYY」。正如我所說的,我需要「dd-mm-yyyy」。任何人都知道如何改正這一點?謝謝!

回答

1

選擇要轉換和運行細胞:

Sub dural() 
    Dim r As Range 
    For Each r In Selection 
     t = r.Text 
     ary = Split(t, ".") 
     r.Clear 
     r.NumberFormat = "dd-mm-yyyy" 
     r.Value = DateSerial(ary(2), ary(1), ary(0)) 
    Next r 
End Sub 
1

謝謝您的回答加里。剛發現一個答案,它的工作完美。 I'll離開你的代碼:

選擇單元格要轉換和運行以下命令:

With Selection 
     .TextToColumns Destination:=.Cells(1, 1), DataType:=xlDelimited, _ 
     TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _ 
     Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _ 
     :=Array(1, 4) 
     .NumberFormat = "dd-mm-yyyy" 
End With 

乾杯!

+0

.........感謝您的更新!....... –

相關問題