Определить буквенное обозначение столбца — Visual Basic(Бейсик)

Вариант I, II, III (исходя из адреса ячейки)

iClmIndex = ActiveCell.Column 
iAddress = ActiveCell.Address 
 
iColumn = Mid(iAddress, 2, IIf(iClmIndex > 26, 2, 1))

iClmIndex = ActiveCell.Column 
iAddress = ActiveCell.Address(RowAbsolute:=False, ColumnAbsolute:=False) 
 
iColumn = Left(iAddress, IIf(iClmIndex > 26, 2, 1))

iAddress = ActiveCell.EntireColumn.Address(ColumnAbsolute:=False) 
iPosition = InStr(iAddress, ":") - 1 
 
iColumn = Left(iAddress, iPosition)

Вариант IV. (исходя из номера столбца)

iClmIndex = ActiveCell.Column 
 
Select Case iClmIndex 
Case 1 To 26 
     iColumn = Chr(64 + iClmIndex) 
Case 27 To 256 
     iColumn = Chr(64 + (iClmIndex \ 26)) & _ 
     Chr(64 + iClmIndex - (iClmIndex \ 26) * 26) 
End Select

iClmIndex = ActiveCell.Column 
 
If iClmIndex < 27 Then 
   iColumn = Chr(64 + iClmIndex) 
Else 
   iColumn = Chr(64 + (iClmIndex \ 26)) & _ 
   Chr(64 + iClmIndex - (iClmIndex \ 26) * 26) 
End If
Примечание: активная ячейка использована исключительно в качестве примера

Leave a Comment