Public Function ae(n As Long) As String Const sd = 64 'sd = Asc("A") - 1 '26 букв английского алфавита If n < 27 Then 'простой случай с одной буквой ae = Chr(sd + n) ElseIf n Mod 26 = 0 Then 'сложный пограничный случай ae = ae((n - 1) \ 26) & "Z" Else 'сложный случай с несколькими буквами ae = ae(n \ 26) & Chr(sd + n Mod 26) End If End Function ? ae(7900) KQV
Function ABC(n As Long) As String Dim i As Long i = n Do While i <> 0 i = i - 1 ABC = Chr(65 + (i Mod 26)) & ABC i = i \ 26 Loop End Function
'перенумератор чисел в вид екселя, на входе число, на выходе алфавит Public Function ae(n As Long) As String Const sd = 64 'sd = Asc("A") - 1 '26 букв английского алфавита If n < 1 Then Exit Function 'а вдруг завтра война... If n < 27 Then 'простой случай с одной буквой ae = Chr(sd + n) ElseIf n Mod 26 = 0 Then 'сложный пограничный случай ae = ae((n - 1) \ 26) & "Z" Else 'сложный случай с несколькими буквами ae = ae(n \ 26) & Chr(sd + n Mod 26) End If End Function