2016-04-14 10 views
0

で列を連結します。VBAで機能を入力します。私は、文字列から日付を抽出しようとしています、私は行

木2月25日16時13分15秒PST 2016

私のマクロ関数を入力しますただし、列をiと正しく連結しないので、特定の行番号になります。 代わりに、私はこれを取得:

= CONCATENATE(MID( "J" & I、5,6)、 ""、RIGHT( "J" & I、4))

してください私が連結するのを助けてください。あなたは間違った場所にあなたの引用符を持っているあなたに

Sub FormatDate() 
    FinalRow = Cells(Rows.Count, 12).End(xlUp).Row 
    For i = 3 To FinalRow 
    Cells(i, 12).Formula = "=CONCATENATE(MID(""B"" & i,5,6),"","",RIGHT(""B"" & i,4))" 
    Next i 
End Sub 

答えて

1

は、あなたが式を入力せずに、計算に使用することができ、「本物」の日付になり少し異なるアプローチです細胞に導入する。私はあなたの数式の結果と同じに見えるようにそれをフォーマットしましたが、あなたはそれをフォーマットすることができます。


Option Explicit 
Sub FormatDate() 
Dim FinalRow As Long 
Dim V As Variant 
Dim I As Long 

    FinalRow = Cells(Rows.Count, 12).End(xlUp).Row 
    For I = 3 To FinalRow 
     V = Split(Cells(I, "B")) 
     V(1) = Month(DateValue(V(1) & " 01")) 'Change month string into number. 

     Cells(I, 12) = DateSerial(V(5), V(1), V(2)) 
     Cells(I, 12).NumberFormat = "mmm dd yyyy" 
    Next I 

End Sub 

日付を処理する他の方法があります。


For I = 3 To FinalRow 
    V = Split(Cells(I, "B")) 
    Cells(I, 12) = DateValue(V(1) & " " & V(2) & " " & V(5)) 
    Cells(I, 12).NumberFormat = "mmm dd yyyy" 
Next I 

+0

ありがとうございました! – Zar

1

ありがとう:ここ

Cells(i, 12).Formula = "=CONCATENATE(MID(B" & i & ",5,6),"","",RIGHT(B" & i & ",4))" 
+0

ありがとうございました!!!あなたはそれを解決しました! – Zar

関連する問題