Страница 1 из 2

Как перейти на лист N, если есть N?

Добавлено: 11 ноя 2009, 16:23
Андрей45
У меня есть переменная N, она в программе принимает значения от 1 до 20.
Мне надо, в зависимости от значения N, перейти на лист с именем, равным N. То есть, если N = 5, то мне надо перейти на лист, который называется "5".

Это уже понял.

А как получить номер текущего листа?

Re: Как перейти на лист N, если есть N?

Добавлено: 11 ноя 2009, 17:13
EducatedFool

Код: Выделить всё

[color=darkblue]Sub[/color] test()
    n = 5
    Worksheets(n).Activate [color=green]' так мы перейдём на лист с ИНДЕКСОМ N[/color]
    Worksheets([B][color="Red"]CStr([/color][/B]n[color="#ff0000"][B])[/B][/color]).Activate [color=green]' а Вам надо так - перейти на лист с ИМЕНЕМ N[/color]
[color=darkblue]End[/color] [color=darkblue]Sub[/color]

Re: Как перейти на лист N, если есть N?

Добавлено: 11 ноя 2009, 17:24
Андрей45
Спасибо большое. А на второй вопрос ответите? :confused:

Re: Как перейти на лист N, если есть N?

Добавлено: 11 ноя 2009, 17:27
EducatedFool
А как получить номер текущего листа?
А что такое - номер?
Я не знаю такого свойства листа...

Может, так подойдёт?

Код: Выделить всё

[color=darkblue]Sub[/color] test()
    MsgBox ActiveSheet.Index    [color=green]' индекс листа[/color]
    MsgBox ActiveSheet.Name    ' имя листа
[color=darkblue]End[/color] [color=darkblue]Sub[/color]

Re: Как перейти на лист N, если есть N?

Добавлено: 11 ноя 2009, 17:30
Андрей45
ActiveSheet.Index
Спасибочки! Именно вот это мне и было надо!!! Что бы я без Вас делал?!

Re: Как перейти на лист N, если есть N?

Добавлено: 11 ноя 2009, 17:35
EducatedFool
Что бы я без Вас делал?!
Изучали бы справку по VBA, и объектную модель Excel. (как это делал я, когда у меня не было интернета)

В этом случае Вы узнали бы НАМНОГО больше :)

Re: Как перейти на лист N, если есть N?

Добавлено: 11 ноя 2009, 17:56
Андрей45
EducatedFool писал(а):Изучали бы справку по VBA
Я бы с удовольствием, но она по-английски. А где найти по-русски, не подскажете? :confused:

Re: Как перейти на лист N, если есть N?

Добавлено: 11 ноя 2009, 18:09
EducatedFool
Здесь есть справочник по функциям VB на русском языке.
Справка по VBA на русском языке, вроде бы, была в excel 97.

Re: Как перейти на лист N, если есть N?

Добавлено: 11 ноя 2009, 18:16
Андрей45
На досуге почитаю. Ну, а сейчас, мне очень срочно ещё один макрос нужен. Хочу на лист поместить таймер обратного отсчёта. Когда перешли на этот лист - пошёл отсчет. Через 1 минуту - звук какой-нибудь, типа, ответы сдавайте.

Re: Как перейти на лист N, если есть N?

Добавлено: 11 ноя 2009, 18:44
EducatedFool
Когда перешли на этот лист - пошёл отсчет
А если во время отсчёта пользователь переключился на другой лист - что делать?
Приостанавливать таймер?
Или не позволять пользователю переключаться на другой лист?