首页 > 解决方案 > Left() & Mid() 函数 - VBA

问题描述

我想使用 VBA 中的 Left & Mid 函数来分解列A中的字符串,C & D如下所示:

在此处输入图像描述

我用过:

C栏:Left(Score, (InStr(Score, "-") - 2))

D栏:Mid(Score, (InStr(Score, "-")) + 2, (Len(Score)) - ((InStr(Score, "-")) + 1))

Score取 A 列中字符串的值

有没有更有效的方法?

标签: excelvba

解决方案


如果 A 列中的模式相同,则可以使用Split

在 C 列中:Split(Score, " ")(0)

在 D 栏中:Split(Score, " ")(2)

  • 您也可以将其保存到定义的数组中,并且只能进行一次拆分。

备选 1

在 C 列中:Split(Score, " - ")(0)

在 D 栏中:Split(Score, " - ")(1)


备选 2

Dim ar() as Variant

ar = Split(Score, " - ")

在 C 列中:ar(0)

在 D 栏中:ar(1)


演示:

在此处输入图像描述


推荐阅读