我有3列有相同的模式。下面是一个例子:
“我爱巧克力
我真的很喜欢巧克力
我想喝热巧克力
我有一辆红色的自行车
我用自己的钱买的
我讨厌老鼠
我从小就讨厌老鼠”
我想在单元格中的每一行粗体文本之前添加分号。就像这样:
“;我爱巧克力
我真的很喜欢巧克力
我想喝热巧克力
我有一辆红色的自行车
我用自己的钱买的
;I hate mouse
我从小就讨厌老鼠”
我用了一个这样的宏,但它不工作。它没有给出错误警告;但它并不像我想的那样运作
Sub AddSemicolonBeforeBoldText()
Dim rng As Range
Dim cell As Range
Dim text As String
Dim startPos As Integer
Dim endPos As Integer
Set rng = ActiveSheet.UsedRange
For Each cell In rng
If cell.HasFormula Then
' Skip cells with formulas
GoTo ContinueLoop
End If
text = cell.Value
startPos = 1
Do While startPos <= Len(text)
startPos = InStr(startPos, text, "*", vbTextCompare)
If startPos = 0 Then Exit Do
endPos = InStr(startPos + 1, text, "*", vbTextCompare)
If endPos = 0 Then Exit Do
' Insert a semicolon before the bold text
text = Left(text, startPos - 1) & ";" & Mid(text, startPos)
startPos = endPos + 1 ' Move the start position after the second asterisk
Loop
cell.Value = text
ContinueLoop:
Next cell
End Sub
字符串
我做错了什么?
3条答案
按热度按时间nlejzf6q1#
试试这个,它会向后遍历单元格中的每个字符,如果该字符不是粗体,而它后面的字符是粗体,那么它会添加一个分号(分号本身是粗体)
字符串
如果需要,还可以通过删除
GoTo
进一步整理代码,如下所示型
答案已更新图片
密码会改变这一点。。
的数据
。到这个。。
的
w1jd8yoj2#
加粗单元格行前置字符串
的数据
字符串
日志
型
6yt4nkrj3#
字符串