这始终可以使用正则表达式来完成。
在 VBE 中,在模块中编写以下函数:
Function getHashTags(rng As Range) As Variant
Dim regEx As RegExp
Set regEx = New RegExp
regEx.Pattern = "#\w*\b"
regEx.IgnoreCase = True
regEx.Global = True
Set myMatches = regEx.Execute(rng.Value)
Dim arr(1 To 1, 1 To 3) As Variant
For i = 1 To 3
If i > myMatches.Count Then
arr(1, i) = ""
Else
arr(1, i) = Replace(myMatches(i - 1), "#", "")
End If
Next i
getHashTags = arr
End Function
现在,假设 A 列是描述列,在单元格 A2 中,您有第一个带有哈希标签的单元格。
在单元格 B2 中输入:
=getHashTags(B$2)
现在选择单元格 B2、C2、D2,按F2然后ctrl+ shift+ enter。这将填充从函数返回getHashTags
到所选单元格的变体。
我希望这有帮助。
PS:而且,是的,要使其正常工作,您还需要参考Microsoft VBScript 正则表达式 5.5库。