#excel #vba
Вопрос:
Возникла проблема при попытке получить букву столбца из номера столбца. Когда номер столбца равен 36, он возвращается пустым, когда он равен 35 или 37 или любому другому числу, он возвращается с результатами. Вот код:
ActiveCell.Select
L5Num = ActiveCell.Column
L5 = Split(Columns(L5Num).Address, "$")(1)
Комментарии:
1. ИМО, использовать букву столбца — плохая идея. Просто используйте индекс столбца с
Cells
, например.2. ^^^^ Вы бы использовали
Worksheet("blahblah").Cells(RowNum,ColumnNum)
, тогда вам не нужно анализировать строку.3.
L5 = Split(ActiveCell.Address, "$")(1)
. Возвращается ваш текущий кодAJ:
. Но … не делай этого. Это контрпродуктивно и не нужно.4. Зачем тебе это письмо? Как написано выше, ваш код возвращает
AJ
столбец 36, который является правильным обозначением.5. Вы можете спокойно оборвать связь
ActiveCell.Select
. ИспользованиеSelect
— плохая практика и в лучшие времена, но в этом случае все, что вы делаете, — это выбираете уже выбранную ячейку.