我在工作表中的单元格中有一组可变的字符串集,比如“马”、“苹果”、“苹果/2”、“猫”等。
我只需要复制找到的字符串并将其粘贴到下一个单元格中。
例如:
列B中的一个单元格是“今天的马很高兴”。所以我只需要复制单词“马”并粘贴到下一个单元格中。列B中的另一个单元格创造了例如“猫正在睡觉”。所以我只需要复制单词"cat“并将其粘贴到下一个单元格中。
我有一组可能的字符串可以在所有列B中找到。
Sub TEST()
Dim c As Range
For Each c In Range("B1:B1500")
If InStr(1, c.Text, "horse") Then
c.Copy Destination:=c.Offset(ColumnOffset:=1)
End If
Next c
End Sub
这样,我复制了创造“马”的整个单元,但我只需要一个“马”字。
此外,我必须复制或三重这段代码,只需更改字符串。不是一种快速的方法,因为它会读取每个单元格,尝试找到一个字符串,然后再查找下一个字符串。
我想粘贴我想要的所有字符串:(猫、马、苹果等),如果在B列的单元格中找到其中之一,则只将找到的字符串粘贴到下一个单元格中。
有人能帮我吗?
发布于 2021-06-29 21:56:41
根据你所描述的,我认为这可能对你有用。
Sub TEST()
Dim aFindWords
Dim iLoop As Integer
Dim c As Range
aFindWords = Split("horse,cat,apple,apple/2", ",")
For iLoop = LBound(aFindWords) To UBound(aFindWords)
For Each c In Range("B1:B1500")
If InStr(1, c.Text, aFindWords(iLoop)) Then
c.Offset(0, 1) = aFindWords(iLoop)
End If
Next c
Next iLoop
End Sub
https://stackoverflow.com/questions/68185990
复制