【问题标题】:VBA/excel extract multiple strings between symbols in cellVBA / excel在单元格中的符号之间提取多个字符串
【发布时间】:2019-01-15 04:25:51
【问题描述】:

我有一个包含多个单元格的电子表格,其中包含一堆文本。在文本中,@ 符号之间有几个单词/句子。每个单元格中有多个这样的字符串。

例如:

Lorem ipsum dolor sit amet,@consectetur adipiscing elit@。 Curabitur sapien nibh,faucibus ut odio ut,vehicula elementum nunc。 @Fusce consequat risus vel dui tincidunt@ 调味品。

我需要一个解决方案来提取@...@ 字符串,比如说到相邻的列中。

编辑以回应 cmets:在发表这篇文章之前还没有完全尝试过任何解决方案,因为我不知道如何开始 - 主要挑战似乎是文本中的多个 @...@ 字符串。

我研究的其他解决方案似乎不适用于多个分隔符:

excel vba- extract text between 2 characters

感谢任何解决方案。

谢谢

【问题讨论】:

标签: string vba excel data-cleaning


【解决方案1】:

试试这个代码

Sub Test()
Dim a, x, i As Long, ii As Long

a = Range("A1:A" & Cells(Rows.Count, 1).End(xlUp).Row).Value

For i = LBound(a) To UBound(a)
    x = Split(a(i, 1), " @")
    For ii = 1 To UBound(x)
        Cells(i, ii + 1).Value = Mid(x(ii), 1, InStr(x(ii), "@") - 1)
    Next ii
Next i
End Sub

【讨论】:

  • 谢谢,这部分工作。这会在第一个 @ 分隔符之前用空格分割每个字符串。所以“文本文本@string@”。正确拆分“字符串”,但用于“文本 text@string@”。没有什么是分裂的。
  • 我依赖于您的第一个示例 .. 尝试调整它以满足您的需求
猜你喜欢
  • 2021-09-21
  • 2021-12-15
  • 2019-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-30
  • 2011-11-09
相关资源
最近更新 更多