Переход по ячейкам в Excel (Microsoft Visual Basic)

Программирование на Visual Basic for Applications
Zergik
Начинающий
Начинающий
 
Сообщения: 1
Зарегистрирован: 17.08.2006 (Чт) 15:25

Переход по ячейкам в Excel (Microsoft Visual Basic)

Сообщение Zergik » 17.08.2006 (Чт) 15:30

Помогите пожалуйста решить такую задачку:
При открывании файла активной становится определенная ячейка (ну например "Н2") - Range("H2").Select.
Как теперь сделать так, чтобы после редактирования данных в ячейке и нажатию на Enter активной становилась бы не ячейка находящаяся под "Н2", а та которая нужна мне (к примеру "К2"). И так каждый раз по нажатию на Enter активными становились ячейки по определенной цепочке ("Н2" -> "K2" -> "N2" ->"Н8" -> "K9" -> "N10") :?:

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 17.08.2006 (Чт) 16:28

0) Такое нужно спрашивать в форуме по VBA.

1) Если это подходит для задачи - можно включить защиту листа, предварительно убрав галочку "Защищаемая ячейка" у тех ячеек, по которым можно перемещаться Enter'ом.

2) Либо написать обработчик событий Worksheet_Change (или даже Woksheet_SelectionChange). Здесь есть всякие трудности, связанные в основном с тем, что обработчик может сработать не только по нажатию Enter.

Оба способа, которые я предлагаю, не идеальны. Возможно, кто-нибудь подскажет способ лучше...
Быть... или не быть. Вот. В чём вопрос?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 17.08.2006 (Чт) 20:27

А надо просто tab нажимать...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Bagathur
Обычный пользователь
Обычный пользователь
 
Сообщения: 88
Зарегистрирован: 10.08.2006 (Чт) 12:36
Откуда: Moscow

Сообщение Bagathur » 17.08.2006 (Чт) 23:18

Сделай скрытый лист в том же файле и записывай туда значение счётчика. Напиши обработчик для значений счётчика - например,
Код: Выделить всё
Select Case Activeworkbook.Sheets ("Скрытый Лист").Cells(1,1).Value
Case 1
Activeworkbook.Sheets ("Рабочий Лист").Range (Нужный Тебе Рэйндж).Select
Case...
(....)
End Select

Как вариант - можешь записывать значения счётчика в обычный файл, если хочешь - поставь ему атрибут Hidden. Как работать с файлами - посмотри вот тут ---> http://www.mini-soft.ru/soft/vba/r_12.php
'Til the blood on your hans is the blood of the King!


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Google-бот и гости: 66

    TopList