vba代码提取某个单词前3个单词和后3个单词,并为每行创建一个包含这6个单词的新列
我正在寻找一个vba代码提取前3个字和后3个字的某个字。C6含有诸如此类的东西。这五个红苹果真是诸如此类的好东西。所以这里苹果是一个确定的词。所以新专栏应该有这五个红苹果是如此的好。如果有什么诸如此类的东西,这些苹果真是太好了。那么它应该只提取这些苹果是如此的好,任何之前或之后的时期都不应该考虑。如果可能的话,苹果的任何扩展都应该被认为是特定的词。我在python中看到过一些代码,但这在vba代码和可能的vba代码中是可能的。非常感谢您在这方面提供的任何帮助。似乎是一个有效的正则表达式应用程序和问题,尽管它可以使用重写并显示更多尝试过的内容。试试这个。从A列中的文本开始,如下所示: 添加对Microsoft VBScript正则表达式5.5项目的引用 然后运行以下代码:vba代码提取某个单词前3个单词和后3个单词,并为每行创建一个包含这6个单词的新列,vba,excel,Vba,Excel,我正在寻找一个vba代码提取前3个字和后3个字的某个字。C6含有诸如此类的东西。这五个红苹果真是诸如此类的好东西。所以这里苹果是一个确定的词。所以新专栏应该有这五个红苹果是如此的好。如果有什么诸如此类的东西,这些苹果真是太好了。那么它应该只提取这些苹果是如此的好,任何之前或之后的时期都不应该考虑。如果可能的话,苹果的任何扩展都应该被认为是特定的词。我在python中看到过一些代码,但这在vba代码和可能的vba代码中是可能的。非常感谢您在这方面提供的任何帮助。似乎是一个有效的正则表达式应用程序和
Private Sub splitUpRegexPattern()
Dim regEx As New RegExp
Dim strPattern As String
Dim Myrange As Range
Set Myrange = ActiveSheet.Range("A1:A3")
For Each c In Myrange
strPattern = "(?:\w+\W+){3}(apples)\W+(?:\w+\W+){3}"
If strPattern <> "" Then
With regEx
.Global = True
.MultiLine = True
.IgnoreCase = False
.Pattern = strPattern
End With
Set matches = regEx.Execute(c.Value)
On Error Resume Next
c.Offset(0, 1).Value = matches.Item(0)
End If
Next c
End Sub
结果:
需要VBA中正则表达式的帮助吗?查看以开始。如何提取前3个单词和后3个单词,并得出5个单词的总数?这很好。祝你好运。你有编程问题吗?这个网站是为编程问题而设的,不是一个可以丢弃你的待办事项列表的地方,也不是一个可以期待其他人为你工作的地方。拆分、搜索、然后提取@John Coleman谢谢你的起点将从这里开始,因为我是vba代码的新手,这就是为什么我没有首先添加代码的原因。但是试着按照这些思路来做,并将更新代码作为起点,或者可能是完整的代码。我可以回答您的问题-是的,VBA在字符串操作方面非常出色。然而,似乎您需要的是一个定制的解决方案,而不是帮助您完成自己代码的一半。对于PeoplePerHour.com、eLance.com等网站来说,仅仅要求提供一个可能对您有商业价值的问题的完整解决方案更合适。这只会捕获第一次出现的情况。我如何更改代码以显示以||