簡體   English   中英

用vba輸入函數:將列與i行連接

[英]Enter function with vba: Concatenate column with i row

我正在嘗試從字符串中提取日期:

2016年2月25日星期四16:13:15 PST

我的宏進入了函數,但是它沒有正確地將列與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

您的引號在錯誤的位置:

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

這是一種產生“真實”日期的稍微不同的方法,您可以在計算中使用該日期,而無需在單元格中輸入公式。 我確實格式化了它,使其看起來與公式的結果相同,但是您可以根據需要對其進行格式化。


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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM