首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Excel中为姓氏着色

如何在Excel中为姓氏着色
EN

Stack Overflow用户
提问于 2015-10-20 01:40:04
回答 1查看 111关注 0票数 0

我只想给姓氏上色。例如:

代码语言:javascript
运行
复制
Rohit Kumar Singh
Rahul Ranjan Singh
Kaushal Kishor Singh

我只想给姓氏上色。可以使用vba,也可以不使用vba。

EN

回答 1

Stack Overflow用户

发布于 2015-10-20 01:49:42

在vba中,可以这样做:

代码语言:javascript
运行
复制
Sub rohit()
Dim cel As Range
Dim i As Integer
For Each cel In Selection.Cells
    If cel.value <> "" Then
        Dim lastname As String
        if Ubound(Split(cel, " ")) > 0 then
             lastname = Split(cel, " ")(1)
        Else 
             lastname = cel.Value
        End If
        For i = 1 To Len(cel)
            If Mid(cel, i, Len(lastname)) = lastname Then
                cel.Characters(i, Len(lastname)).Font.Color = vbRed
                Exit For
            End If
        Next i
    End If
Next cel

End Sub

这将更改字符串中的第二个单词。

要更改单词的关键字是下面这行:

代码语言:javascript
运行
复制
lastname = Split(cel, " ")(1)

Split函数返回一个数组,第一个字是0,第二个字是1,依此类推。函数后面的数字指示返回该数组中的哪个单词。

如果单词数未知,并且想要最后一个单词,则使用:

代码语言:javascript
运行
复制
lastname = Split(cel, " ")(Ubound(Split(cel, " ")))

这将获取数组的上界或最后一个。如果你想让第二个放在最后,并且它会有所不同,那么使用:

代码语言:javascript
运行
复制
lastname = Split(cel, " ")(Ubound(Split(cel, " "))-1)

这将允许您根据所需的模式获取任何单词。

它也是基于选择的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33220625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档