永发信息网

请教VBA:如何能输入一个列序号,返回对应的字母

答案:1  悬赏:0  手机版
解决时间 2021-02-19 12:38
请教VBA:如何能输入一个列序号,返回对应的字母
最佳答案
参考代码:
' #################################
' [功能描述] 通过列索引获得列名称.
' [参数列表] ColumnIndex    列索引.
' [返回类型] Long           列名称.
' #################################
Function GetNameByColumnIndex(ByVal ColumnIndex As Long) As String
    Dim intMod As Integer

    Do While ColumnIndex > 0
        intMod = ColumnIndex Mod 26

        If intMod > 0 Then
            GetNameByColumnIndex = Chr$(intMod + 64) & GetNameByColumnIndex
        Else
            GetNameByColumnIndex = "Z" & GetNameByColumnIndex
            ColumnIndex = ColumnIndex - 1
        End If

        ColumnIndex = ColumnIndex \ 26
    Loop
End Function

反向扩展:
' ################################
' [功能描述] 通过列名称获得列索引.
' [参数列表] ColumnName 列名称.
' [返回类型] Long       列索引.
' ################################
Function GetIndexByColumnName(ByVal ColumnName As String) As Long
    Dim intLoop     As Integer
    Dim intLength   As Integer

    intLength = Len(ColumnName)
    ColumnName = UCase$(ColumnName)
    GetIndexByColumnName = Asc(Mid$(ColumnName, intLength, 1)) - 64

    For intLoop = 1 To intLength - 1
        GetIndexByColumnName = GetIndexByColumnName + _
                               (Asc(Mid$(ColumnName, intLoop, 1)) - 64) * 26 ^ _
                               (intLength - intLoop)
    Next
End Function
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
原味砂锅狗地址有知道的么?有点事想过去
协和医院东院App预约挂号成功后还去医院挂号
如右图所示,在草原生态系统中,鼠的数量大幅
齐柏林和朗坤手表相比哪好
离婚案件,我是被告,第一次原告起诉我,判决
全国社区艺术水平考级桓台美术考点怎么去啊,
电脑平车针板用途大全
队伍名字大全要霸气
【声母有哪些】声母有哪些?
农村母鸡生出来的蛋能生出小鸡吗
劳动巷地址有知道的么?有点事想过去
问题:北京贵美汇医院 的 日式假体隆胸 好不好
LED节能灯 是谁在什么时候发明的
国外的血糖仪品牌,哪个比较好?
最新飞机托运行李规定?三边之和不能超过多少
推荐资讯
笔记本屏幕坏了,想在网上买屏回来换,型号是
求各位大哥大姐,给偶张梦幻西游逍遥生扇子的
单选题下列属于国家一级保护的爬行动物的是A.
铭诚时尚造型地址在哪,我要去那里办事
我是山东省的 想报考郑州铁道警察学院 可是据
谷氨酸钠有没有腐蚀性
外地老人来合肥与儿女居住如何迁户口
后明德小学在什么地方啊,我要过去处理事情
北京丽晶酒店这个地址在什么地方,我要处理点
三星galaxy c9(sm-c9000)版本
水电厂高压厂用电系统短路电流计算时,当同时
成语心舞飞扬 的意思
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?