Vbscript 如何在VBS中将数字转换为字母?
我想用VBScript将一个数字转换成小写字母Vbscript 如何在VBS中将数字转换为字母?,vbscript,type-conversion,Vbscript,Type Conversion,我想用VBScript将一个数字转换成小写字母a-z 例如: 1转换为a 2转换为b 27转换为aa 28转换为ab 等等 特别是,当转换为2个字母的单元格名称时,我在转换26后的数字时遇到困难。(aa、ab、ac等)您应该看看该功能 这将满足您从a到z的需求: wscript.echo Chr(number+96) 要表示数字的多个字母(就像excel那样),您必须检查数字的范围,并使用运算符进行模运算 编辑: 网上有一个快餐复制粘贴示例: 引用微软的例子: 例如:列号为30 列号除以
a-z
例如:
转换为1
a
转换为2
b
转换为27
aa
转换为28
ab
- 等等
特别是,当转换为2个字母的单元格名称时,我在转换26后的数字时遇到困难。(aa、ab、ac等)您应该看看该功能 这将满足您从
a
到z
的需求:
wscript.echo Chr(number+96)
要表示数字的多个字母(就像excel那样),您必须检查数字的范围,并使用运算符进行模运算
编辑: 网上有一个快餐复制粘贴示例: 引用微软的例子: 例如:列号为30 列号除以27:
30/27=1.1111
,通过Int函数向下舍入为“1”
下一列编号-(i*26)=30-(1*26)=30-26=4
j = 4
将值分别转换为字母字符
i = 1 = "A"
j = 4 = "D"
它们组合在一起,构成列指示符“AD”
及其代码:
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
试试这个
function converts(n)
Dim i, c, m
i = n
c = ""
While i > 26
m = (i mod 26)
c = Chr(m+96) & c
i = (i - m) / 26
Wend
c = Chr(i+96) & c
converts = c
end function
WScript.Echo converts(1000)
可能重复的
function converts(n)
Dim i, c, m
i = n
c = ""
While i > 26
m = (i mod 26)
c = Chr(m+96) & c
i = (i - m) / 26
Wend
c = Chr(i+96) & c
converts = c
end function
WScript.Echo converts(1000)