s=Replace$(Left$(ActiveCell.Address(ColumnAbsolute:=False), 2), "$", "")
Вы напишите, для чего эта буква нужно вам и я 90% уверен,compositum писал(а):а специальной функции нет? как-то не верится... =) неужели такую элементарную вещь в ВБА не предусмотрели???
Function GetColumnName(lCol As Long) As String
Dim lColDiv As Long, lColMod As Long, sColumn As String
lColDiv = lCol \ 26
lColMod = lCol Mod 26
If lColMod = 0 Then lColDiv = lColDiv - 1: lColMod = 26
GetColumnName = IIf(lColDiv > 0, Chr(Asc("A") + lColDiv - 1), "") & Chr(Asc("A") + lColMod - 1)
End Function
MsgBox Replace$(Mid$(ActiveCell.Address, 2, 2), "$", "")
compositum писал(а):а специальной функции нет? как-то не верится... =) неужели такую элементарную вещь в ВБА не предусмотрели???
Mid(ActiveCell.Address, 2, InStrRev(ActiveCell.Address, "$") - 2)
ActiveCell.Column
Function GetColLetter(ColNum As Integer) As String
Dim temp as Byte
If ColNum < 27 Then
GetColLetter = Chr(64 + ColNum)
Else
temp = Int(ColNum / 26)
GetColLetter = Chr(64 + temp) & Chr(64 + ColNum - temp * 26)
End If
End Function
ZlydenGL писал(а):Вопрос посложнее - как получить букву ПРОИЗВОЛЬНОГО столбца?...
'узнаем название столбца (например, М)
ColName$ = Left(ActiveCell.AddressLocal(True, False, xlA1), _
InStr(1, ActiveCell.AddressLocal(True, False, xlA1), "$") - 1)
Msgbox ColName$
Avtopic писал(а):До моего ответа два раза было написано что, это дурная затея искать алфавитное обозначение столбца,
это значит, что выбран не совсем хороший (или совсем нехороший) путь, обращения столбцами.
Range и F1 предлагают очень много вариантов для этого.
ZlydenGL писал(а):На ситуацию, описанную в моем посте, что ответишь?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 106