Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 1701|回复: 6

[已解决]把数字自动转换为文字,vba能做到吗?

[复制链接]
发表于 2016-3-31 14:30 | 显示全部楼层 |阅读模式
我要把数字自动转换为文字,vba能做到吗?比如说我把1当B,2-C,3-D,4-E,5-F,6-G.......当我输入5431就等于FEDB
最佳答案
2016-3-31 16:15
Function ch(x As Range) As String
    Dim A()
    Dim i As Integer
    A = Array("K", "B", "C", "D", "E", "F", "G", "H", "I", "J")
    For i = 1 To Len(x)
        ch = ch & A(Mid(x, i, 1))
    Next i
End Function

2.rar (13.9 KB, 下载次数: 12)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2016-3-31 14:40 | 显示全部楼层
如果别人多看几组,也许能猜出字母所代表的数字。

就不保密了啊?
回复

使用道具 举报

 楼主| 发表于 2016-3-31 14:48 | 显示全部楼层
爱疯 发表于 2016-3-31 14:40
如果别人多看几组,也许能猜出字母所代表的数字。

就不保密了啊?

哈哈,也无所谓啦,哪些数字代表我的本钱,就算知道了我也是要赚的麻.....
回复

使用道具 举报

发表于 2016-3-31 14:59 | 显示全部楼层
Sub test()
    Dim num, str$, i%, n%
    num = InputBox("数字:", "输入", 5431)
    If num = "" Then End

    For i = 1 To Len(num)
        n = Mid(num, i, 1)
        If VBA.IsNumeric(n) Then
            str = str & Chr(65 + n)
        Else
            str = "这不是一个数字"
        End If
    Next i
    MsgBox str, , "结束"
End Sub

2.rar (8.2 KB, 下载次数: 9)
回复

使用道具 举报

 楼主| 发表于 2016-3-31 15:11 | 显示全部楼层
本帖最后由 tt1668 于 2016-3-31 15:52 编辑
爱疯 发表于 2016-3-31 14:59
Sub test()
    Dim num, str$, i%, n%
    num = InputBox("数字:", "输入", 5431)

对了,不过我想把数字输入在A1:A10,文字就更换在B1:B10的,可以吗?因为我懒得一个一个去输入

Book11.rar

6.9 KB, 下载次数: 5

回复

使用道具 举报

发表于 2016-3-31 16:15 | 显示全部楼层    本楼为最佳答案   
Function ch(x As Range) As String
    Dim A()
    Dim i As Integer
    A = Array("K", "B", "C", "D", "E", "F", "G", "H", "I", "J")
    For i = 1 To Len(x)
        ch = ch & A(Mid(x, i, 1))
    Next i
End Function

2.rar (13.9 KB, 下载次数: 12)
回复

使用道具 举报

 楼主| 发表于 2016-3-31 16:26 | 显示全部楼层
感激不尽....
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-27 02:22 , Processed in 0.162565 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表