Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
KorkAnt
Зарегистрирован: 10.09.2007 Сообщения: 3
|
Добавлено: Пн Сен 10 2007 23:29 Заголовок сообщения: Фокус на объет в Excel c помощью VBA |
|
|
Всем привет!
Помогите, пожалуйста, решить следующую задачу в Excel:
На листе две ячейки и две автофигуры (надписи). В первую ячейку введен какой-то текст, во вторую другой. Необходимо, чтобы при щелчке мышью по тексту в первой ячейке выделялась (активизировалась, фокусировалась) 1-ая автофигура, а при щелчке мышью по второй - 2-ая автофигура.
Заранее спасибо! |
|
Вернуться к началу |
|
|
Mytilus Galloprovincialis
Зарегистрирован: 30.08.2005 Сообщения: 358 Откуда: откуда все люди родятся
|
Добавлено: Сб Сен 15 2007 00:28 Заголовок сообщения: |
|
|
Итак... Возьмем две ячейки. Пусть это будет А1 и А2. Возьмем две автофигуры. Звать их будут "Freeform 1" и "Freeform 2". Создаем событие Worksheet_SelectionChange. В нем узнаем, какая ячейка выделена А1, А2 или какая-нить другая. В последнем случае выходим из обработчика события. Если А1, то ActiveSheet.Shapes("Freeform 1").Select. Если А2 - ActiveSheet.Shapes("Freeform 2").Select.
Удачи! |
|
Вернуться к началу |
|
|
KorkAnt
Зарегистрирован: 10.09.2007 Сообщения: 3
|
Добавлено: Сб Сен 22 2007 22:36 Заголовок сообщения: |
|
|
Спасибо, работает!
На всякий случай приведу текст проги, вдруг кому-нибудь пригодится.
+ Переключение между листами;
+ Выделяемый объкт располагается в центре окна.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim fgr As String
fgr = ActiveCell.Value
Select Case fgr
Case "Первый"
Sheets("List1").Select
ActiveSheet.Shapes("Freeform 1").TopLeftCell.Activate
ActiveSheet.Shapes("Freeform 1").Select
Case "Второй"
Sheets("List2").Select
ActiveSheet.Shapes("Freeform 2").TopLeftCell.Activate
ActiveSheet.Shapes("Freeform 2").Select
Case Else
End Select
End Sub |
|
Вернуться к началу |
|
|
|