excel - 通过数据验证添加短语时单元格中多个短语的部分文本颜色 [Excel-VBA]
问题描述
我有一个用户生成的标签列表,比如说国家名称,例如:阿根廷、巴西、法国、德国、英国等。我想为这些标签分配颜色,因为它们是从列中的下拉列表中选择的。有些单元格会有多个标签。对于每个独特的标签,我想指定一种独特的颜色。
单元格 A1:法国(蓝色)
单元格 A2:法国(蓝色)、巴西(绿色)
我尝试了几种分配颜色的方法,但最终都为整个单元格设置样式。可行吗?
编辑:我可以做标记部分。标签的独特颜色是个问题。
解决方案
因此,正如我评论的那样,您必须浏览单元格的字符并单独为它们着色。这是您的模型示例数据的示例:
Sub ColorTag()
Dim Tags() As String, Tag As Long, X As Long, Y As Long, ClrIndex As Long, ChrPos As Long
With ThisWorkbook.Sheets("Sheet1")
For X = 1 To .Cells(.Rows.Count, "A").End(xlUp).Row
Tags() = Split(.Cells(X, 1), ",")
For Tag = LBound(Tags) To UBound(Tags)
If Tags(Tag) = "France" Then
ClrIndex = 5
ElseIf Tags(Tag) = "Brazil" Then
ClrIndex = 4
End If
Y = InStr(1, .Cells(X, 1), Tags(Tag))
For ChrPos = Y To Y + Len(Tags(Tag) - 1)
.Cells(X, 1).Characters(ChrPos, 1).Font.ColorIndex = ClrIndex
Next ChrPos
Next Tag
Next X
End With
End Sub
结果:
来自这里的 ColorIndex 代码
推荐阅读
- delphi - DocuSign API - 用户认证后如何获得回调响应?
- javascript - 在 ServiceNow 的客户端创建一个类
- c# - 无法在 Visual Studio 2019 C# Windows 窗体应用程序上打开设计视图
- git - How can I use a dev dependency locally on my machine only and not have to push it to the team repo?
- r - How to create this type of numeric list?
- html - 如何在 HTML 页面中并排放置两个 div
- javascript - Slick Slider No Longer Scaling
- android - WebRTC: Undefined reference to "__real_malloc" in Android project linking with WebRTC library
- php - Can't read data that send from controller to view by foreach
- javascript - Some images break on load