Страницы: 1
RSS
нужен макрос для определения адреса ячейки в котрой находится кнопка
 
кнопка - самая обычная- на которую вешается выполнение любого макроса .. насколько я понимаю эксель их таки привязывает к ячейке т.к. если копировать строку где есть кнопка то скопируется и сама кнопка... для надежности- прикрепил файл :)  
 
так вот .. хочу чтобы по нажатии копка выдавала адрес ячейки на которой она висит.  
 
гугль безмолствует! .. :)
 
shapes(..).topleftcell.addres
 
Прошу прощения... У меня не работает... Может что-то не так делаю.. Пишу так:  
Shapes("Button 1").TopLeftCell.Address  
или так  
Worksheets("Лист1").Shapes.Item(ParamAdress_btn3).TopLeftCell.Address  
где ParamAdress_btn3 -индекс  
Подскажите, как правильно..
 
Sub Макрос1()  
 MsgBox ActiveSheet.Shapes(1).TopLeftCell.Address  
End Sub  
- работает
 
в первом обращении у вас лишний пробел, во втором item ..
 
оппа ... супер .. а если не TopLeft а низ по цетру??    
 
гугль дал еще один рабочий вариант:  
 
Sub Ìàêðîñ1()  
ActiveSheet.Shapes(1).BottomRightCell.Select  
End Sub  
 
 
ну и ваш:  
 
Sub Ìàêðîñ1()  
ActiveSheet.Shapes(1).TopLeftCell.Select  
End Sub
 
cells(bottomright.row,  
int((topleft.column+bottomright.column)/2)).address
 
{quote}{login=слэн}{date=08.05.2008 02:00}{thema=}{post}cells(bottomright.row,  
int((topleft.column+bottomright.column)/2)).address{/post}{/quote}  
 
 
скс ... я думал еще есть что-то типа этих двух вариантов чтобы сразу выбирал нужную ячейку снизу ... но вроде как нету .. а если идти путем того что плясать от одной из этих выбранных ячеек, то через оффсет помоему проще:  
 
ActiveSheet.Shapes(Application.Caller).TopLeftCell.Offset(1, -1).Select
 
{quote}{login=dzip}{date=08.05.2008 02:42}{thema=Re: }{post}{quote}{login=слэн}{date=08.05.2008 02:00}{thema=}{post}cells(bottomright.row,  
int((topleft.column+bottomright.column)/2)).address{/post}{/quote}  
 
 
скс ... я думал еще есть что-то типа этих двух вариантов чтобы сразу выбирал нужную ячейку снизу ... но вроде как нету .. а если идти путем того что плясать от одной из этих выбранных ячеек, то через оффсет помоему проще:  
 
ActiveSheet.Shapes(Application.Caller).TopLeftCell.Offset(1, -1).Select{/post}{/quote}  
 
почему именно 1,-1 ?
 
{quote}{login=слэн}{date=08.05.2008 02:50}{thema=Re: Re: }{post}{quote}{login=dzip}{date=08.05.2008 02:42}{thema=Re: }{post}{quote}{login=слэн}{date=08.05.2008 02:00}{thema=}{post}cells(bottomright.row,  
int((topleft.column+bottomright.column)/2)).address{/post}{/quote}  
 
 
скс ... я думал еще есть что-то типа этих двух вариантов чтобы сразу выбирал нужную ячейку снизу ... но вроде как нету .. а если идти путем того что плясать от одной из этих выбранных ячеек, то через оффсет помоему проще:  
 
ActiveSheet.Shapes(Application.Caller).TopLeftCell.Offset(1, -1).Select{/post}{/quote}  
 
почему именно 1,-1 ?{/post}{/quote}  
 
от фонаря - скопировал первое что под руку попалось :) .. просто чтобы показать что можно на любую ячейку так выйти при том точка отсчета для выбора - расположение самой кнопки.
 
это пальцем в небо - может размеры кнопки в десять раз меньше размеров окружающих ячеек, а может наоборот.. в 100 раз больше
Страницы: 1
Читают тему
Наверх