前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Excel VBA:快速生成由输入的字母代表的单词

Excel VBA:快速生成由输入的字母代表的单词

作者头像
fanjy
发布2022-11-16 12:51:49
8400
发布2022-11-16 12:51:49
举报
文章被收录于专栏:完美Excel

标签:VBA,Find方法

如果“a”代表“Apple”,“b”代表“Bilibili”,“c”代表“Coolqi”,……,等等。我们可以在单元格中只输入这些代表字母,而让Excel自动输出完整的单词内容,如下图1所示。

图1

下面是完整的VBA代码:

代码语言:javascript
复制
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim alphCount As Integer
    Dim alph As String
    Dim result As String
    Dim i As Integer
    Dim TargetColumn As Integer
    Dim TargetRow As Integer
    On Error Resume Next
    TargetColumn = Target.Column
    TargetRow = Target.Row
    If TargetColumn = 5 And Cells(TargetRow, TargetColumn) = "" Then
        Cells(TargetRow, TargetColumn + 1) = ""
        Exit Sub
    End If
    If TargetColumn = 5 Then
        alphCount = Len(Cells(TargetRow, TargetColumn))
        For i = 1 To alphCount + 1
            alph = Mid(Range(Target.Address), i, 1)
            If Range("A2:A27").Find(alph) Is Nothing Then
                result = result & ", " & alph
            Else
                result = result & "," & Range("A2:A27").Find(alph).Offset(0, 1)
End If
          Next i
        Cells(TargetRow, TargetColumn + 1) = Mid(result, 2, Len(result) - 3)
    End If
End Sub

其中,在工作表的列A中是代表字母,列B中是该字母代表的完整单词。你可以根据你的情况修改或调整。

这就像是一个字典,你输入内容后,Excel会自动帮你在字典中查找相应的内容,然后输出来。

注意,代码位于相应的工作表模块中,使用了该工作表对象的Change事件。

注:有兴趣的朋友可以到知识星球App完美Excel社群下载本文配套示例工作簿。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-08-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档