您现在的位置是:主页 > news > 长沙手机网站建设/厦门百度快照优化排名
长沙手机网站建设/厦门百度快照优化排名
admin2025/6/12 14:44:38【news】
简介长沙手机网站建设,厦门百度快照优化排名,乾安网站建设公司,策划书案例范文利用空闲时间,开发了一个十进制转换为字母(相当于26进制)的函数。功能有: 1. 给定Excel列标,返回对应的列名(如,第677列对应的列名为“ZA”)(但是,Excel中的列…
长沙手机网站建设,厦门百度快照优化排名,乾安网站建设公司,策划书案例范文利用空闲时间,开发了一个十进制转换为字母(相当于26进制)的函数。功能有:
1. 给定Excel列标,返回对应的列名(如,第677列对应的列名为“ZA”)(但是,Excel中的列…
利用空闲时间,开发了一个十进制转换为字母(相当于26进制)的函数。功能有:
1. 给定Excel列标,返回对应的列名(如,第677列对应的列名为“ZA”)(但是,Excel中的列最多为16384列,对应的列名为XFD)
2. 给定任意正长整形数值(即,1到2147483647),可返回对应的字母
3. 可通过VBE immediate窗口查看计算过程(debug print)
代码:
Function GetExcelColumnNameF(columnNumber As Integer)Dim dividend As IntegerDim columnName As StringDim modulo As IntegerDim n As Integer '循环次数dividend = columnNumberDebug.Print "Input: ColumnNumber = " & columnNumberDebug.Print "Calculation process:" & vbNewLineWhile (dividend > 0)n = n + 1modulo = (dividend - 1) Mod 26Debug.Print "Iteration No." & nDebug.Print "dividend = " & dividend & ", modulo = (dividend - 1) Mod 26 = " & modulocolumnName = Chr(65 + modulo) + columnNamedividend = Round((dividend - modulo) / 26, 0)Debug.Print "columnName = " & columnName & ", dividend = Round((dividend - modulo) / 26, 0) = " & dividend & vbNewLineWendGetExcelColumnNameF = columnNameDebug.Print "Result: ColumnNumber = " & columnNumber & " <--> ColumnName = " & columnName & vbNewLine & vbNewLineEnd Function
调试输出(Log):
Input: ColumnNumber = 16382
Calculation process:Iteration No.1
dividend = 16382, modulo = (dividend - 1) Mod 26 = 1
columnName = B, dividend = Round((dividend - modulo) / 26, 0) = 630Iteration No.2
dividend = 630, modulo = (dividend - 1) Mod 26 = 5
columnName = FB, dividend = Round((dividend - modulo) / 26, 0) = 24Iteration No.3
dividend = 24, modulo = (dividend - 1) Mod 26 = 23
columnName = XFB, dividend = Round((dividend - modulo) / 26, 0) = 0Result: ColumnNumber = 16382 <--> ColumnName = XFB
效果图:
参考文章:
https://stackoverflow.com/questions/181596/how-to-convert-a-column-number-eg-127-into-an-excel-column-eg-aa