excel - 更改反斜杠之间部分字符串的颜色
问题描述
我遇到了这个问题:我想循环执行此特定操作的工作簿的所有工作表:在组织列中将颜色更改为最后一个反斜杠之间的字符串部分:
我想改变颜色的字符串部分没有相同的长度(否则我可以用 Right 函数解决问题)。你有什么建议我可以编写一个子程序来解决这个问题吗?
解决方案
要在单元格的字符串值中操作子字符串的属性,您需要使用 Range.Characters 属性。这需要一个起点和一个长度来标识子串。
由于您需要尾随反斜杠的位置,因此在确定这些位置时,使用 InStrRev 可能比 InStr 更有效。
Sub redBetweenBackslashes()
Dim i As Long, s As Long, e As Long, str As String
With Worksheets("sheet4")
For i = 2 To .Cells(.Rows.Count, "A").End(xlUp).Row
str = .Cells(i, "A").Value2
e = InStrRev(str, Chr(92), -1, vbBinaryCompare) - 1
If e > 0 Then
s = InStrRev(str, Chr(92), e, vbBinaryCompare) + 1
If s > 1 Then
With .Cells(i, "A").Characters(Start:=s, Length:=e - s + 1)
.Font.Color = vbRed
.Font.Bold = True
End With
End If
End If
Next i
End With
End Sub
我在红色字体颜色中添加了粗体格式。
推荐阅读
- python - 如何从 QDialog 访问 QMainWindow 中的小部件
- wamp - 访问本地域名网站作为 WAMP 中的 API 服务器
- azure - SSL“裸”(无 www)自定义域的 Azure 前门和 DNS 配置
- google-chrome-extension - Chrome 扩展:未选中 runtime.lastError:无法建立连接。接收端不存在
- laravel - 如何在 vue 内联模板中使用嵌套组件变量?
- split - 在 Erlang 中提取二进制文件的前 N 个元素
- android - Android Room Composit 主键问题
- r - 从 scale_fill_gradientn 颜色栏中删除刻度
- r - 从 Ryacas 计算表达式中提取 x^k 的系数
- python - perl 正则表达式之间的区别在摩西的两个数字之间添加点