如何将 Excel 列号转换为字母字符

简介

本文讨论如何使用 Microsoft Excel 中的 Microsoft Visual Basic for Applications (VBA) 功能将同一列中的列号转换为其对应的字母字符指示符。

例如,列号 30 被转换为相应的字母字符“AD”。

更多信息

Microsoft 提供的编程示例只用于演示目的,不带任何明示或暗示性担保。这包括但不限于对适销性或特定用途适用性的暗示性担保。本文假定您熟悉演示的编程语言和用于创建和调试过程的工具。Microsoft 的支持工程师可以帮助解释某个特定过程的功能,但是他们不会修改这些示例以提供额外的功能或构建过程以满足您的特殊需求。
使用下列算法可以实现“ConvertToLetter”功能: 

  1. 列号除以 27,然后将得到的整数赋值给变量“i”。
  2. 列号减去 i*26,然后将所得结果赋值给变量“j”。
  3. 将得到的整数值转换为其对应的字母字符,“i”和“j”的取值范围将分别为 0 至 26。

例如:列号为 30。 

  1. 列号除以 27:30 / 27 = 1.1111,由“Int”函数四舍五入后得“1”。
    i = 1
  2. 下一个列号 - (i * 26) = 30 -(1 * 26) = 30 - 26 = 4。

    j = 4
  3. 将得到的整数值分别转换为其对应的字母字符,

    i = 1 =“A”
    j = 4 =“D”
  4. 将这两个字母组合在一起就形成了列指示符“AD”。

下面的 VBA 函数就是一种将列号值转换为其对应字母字符的方法:

Function ConvertToLetter(iCol As Integer) As String
   Dim iAlpha As Integer
   Dim iRemainder As Integer
   iAlpha = Int(iCol / 27)
   iRemainder = iCol - (iAlpha * 26)
   If iAlpha > 0 Then
      ConvertToLetter = Chr(iAlpha + 64)
   End If
   If iRemainder > 0 Then
      ConvertToLetter = ConvertToLetter & Chr(iRemainder + 64)
   End If
End Function

 

转载于:https://my.oschina.net/tedzheng/blog/2875552

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值