如何从文本字符串中提取年份并在另一列中返回年份?

时间:2017-09-25 14:43:26

标签: excel vba excel-vba excel-formula

我列A中包含一年的工单。下面是列表中一些工单的图片:

enter image description here

目标:我想知道如何在VBA中创建一个从A列中的工作订单中提取年份的函数,并在B列中返回相应的年份,如下图所示:

enter image description here

我可以通过查看A列手动输入年份,但我想知道是否有可以自动执行此任务的功能。

1 个答案:

答案 0 :(得分:2)

使用bellow比VBA宏最简单。

在单元格A1中写下,并向下延伸到A1自动处理的地址。

=MID(A1,FIND("_",A1,3)+1 ,4)

请注意,上面的3_字符后的第一个位置,因此您可以根据需要更改它,或使用FIND("_",A1)+1而不是3以上如下:

=MID(A1,FIND("_",A1,FIND("_",A1)+1)+1 ,4)

或者像一个宏观:...

Sub ExtYear()
    Dim i, sh As Long
    sh = Cells(Rows.Count, "A").End(xlUp).Row
    For i = 1 To sh
        Cells(i, "B").Value = Split(Cells(i, "A").Value, "_")(UBound(Split(Cells(i, "A").Value, "_")))
    Next i
End Sub