使用下列算法可以实现“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 函数就是一种将列号值转换为其对应字母字符的方法:
 1 Function ConvertToLetter(iCol As IntegerAs String
 2    Dim iAlpha As Integer
 3    Dim iRemainder As Integer
 4    iAlpha = Int(iCol / 27)
 5    iRemainder = iCol - (iAlpha * 26)
 6    If iAlpha > 0 Then
 7       ConvertToLetter = Chr(iAlpha + 64)
 8    End If
 9    If iRemainder > 0 Then
10       ConvertToLetter = ConvertToLetter & Chr(iRemainder + 64)
11    End If
12 End Function
13 
注意:此函数仅将传递给它的整数转换为其对应的字母数字文本字符,不改变实际工作表上的列标题或行标题的外观。
posted on 2009-07-09 17:32  10cn.net  阅读(2864)  评论(3编辑  收藏  举报