2015-10-14 3 views
2

enter image description here Я пишу VBA, который бы: Однажды, когда я нажимаю кнопку в ячейке, извлечь местоположение ячейки (то есть, если строка 2 и столбец 1, 21), так что я могу использовать его, чтобы удалить кнопку * кнопка заполнения всей ячейкикнопка (VBA) в ячейке, MSGBOX строку и столбец ячейки

Я попытался с помощью

c = ActiveCell.Column & ActiveCell.Row 
    ActiveSheet.Shapes.Range(Array("Btn" & c).Select 
    Selection.Delete 

, но, кажется, не Работа.

+0

Я вижу только текст в ячейках. Там есть кнопки? –

+0

Имена кнопок имеют пробел перед числовой частью? –

+0

извините, я отредактировал сообщение – Yong

ответ

1

Поместите следующую рутина в стандартном модуле кода и назначить его в виде макроса на кнопки:

Sub DeleteButton() 

    ActiveSheet.Shapes(Application.Caller).Delete 

End Sub 

Чтобы назначить вышеуказанную процедуру как макрос на все кнопки на активном листе, выполните это процедура:

Sub AssignMacroToAllButtons() 
    Dim b As Shape 
    For Each b In ActiveSheet.Shapes 
     If b.Type = 8 Then 
      b.OnAction = "DeleteButton" 
     End If 
    Next 
End Sub 
+0

Большое спасибо! Это сработало :)) – Yong

+0

Извините, что беспокою вас снова, но есть ли способ назначить макрос всем кнопкам без необходимости делать это один за другим вручную? – Yong

+0

; P Я не знаком с сайтом, извините за это – Yong

Смежные вопросы