2016-04-14 6 views
0

Zeile Ich versuche Datum aus einer Zeichenfolge zu extrahieren:Geben Sie Funktion mit vba: verketten Spalte mit i

Do 25. Februar 16.13.15 PST 2016

Mein Makro tritt in die Funktion Es verkettet jedoch nicht die Spalte mit i so wird es für bestimmte Zeilennummer sein. Stattdessen bekomme ich dies:

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

Bitte hilf mir zu verketten. Danke

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 

Antwort

1

hier ein wenig anders Ansatz, der in einem „richtigen“ Zeitpunkt ergibt, dass Sie in Berechnungen verwenden können, ohne Eingabe einer Formel in die Zelle. Ich habe es so formatiert, dass es genauso aussieht wie das Ergebnis Ihrer Formel, aber Sie können es wie gewünscht formatieren.


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 

Es gibt andere Möglichkeiten der Verarbeitung des Datum:


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

Vielen Dank !!! – Zar

1

Sie haben Ihre Angebote in den falschen Stellen:

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

Thank you !!! Du hast es gelöst! – Zar

Verwandte Themen