在特定单词vba之前插入换行符



是否可以通过vba在换行文本单元格中识别特定单词;并在特定工作之前插入换行符,这样它就会出现在下一行?假设我试图推到下一行的单词是";块";

我甚至不知道从哪里开始编写代码。如果非要我猜的话,我会想。。。。

If instr(range a1:a,"block",1) then
Chr(10)

或者类似的东西。也不确定我的声明会是什么样子。

可能有更好的方法可以做到这一点,但我的第一个想法是将字符串拆分成一个数组,然后通过循环遍历数组元素来重新构建字符串,以找到您要查找的单词,并在其前添加换行符。

你可能需要更改单元格引用,但这应该让你开始:

Sub addLineBreak()
Dim oldString As String
Dim newString As String
Dim brkString As String

Dim strArray As Variant

Dim i As Long

' Location of string to split
oldString = Range("A1").Value

' Word to add line break before (lowercase)
brkString = "block"

strArray = Split(oldString, " ")

For i = 0 To UBound(strArray)
If LCase(strArray(i)) = brkString Then
newString = newString & Chr(10) & strArray(i)
Else
newString = newString & " " & strArray(i)
End If

Next

newString = Right(newString, Len(newString) - 1)

' Location to dump new string
Range("A1").Value = newString

End Sub

最新更新