Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Условие If для флажка на показ/скрытие листа - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Условие If для флажка на показ/скрытие листа (Макросы/Sub)
Условие If для флажка на показ/скрытие листа
ortan Дата: Воскресенье, 18.06.2017, 10:03 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Приветствую!
Макрос до нельзя прост. Одна кнопка скрывает лист, вторая показывает и возвращается на первый активный лист.
Я подумал заменить обе кнопки на флажок. Есть галочка лист видим, нет галочки - лист не видим. Но как оказалось не смог разобраться в условии IF.
Помогите пожалуйста.
К сообщению приложен файл: _Microsoft_Exce.xlsm(19Kb)
 
Ответить
СообщениеПриветствую!
Макрос до нельзя прост. Одна кнопка скрывает лист, вторая показывает и возвращается на первый активный лист.
Я подумал заменить обе кнопки на флажок. Есть галочка лист видим, нет галочки - лист не видим. Но как оказалось не смог разобраться в условии IF.
Помогите пожалуйста.

Автор - ortan
Дата добавления - 18.06.2017 в 10:03
KuklP Дата: Воскресенье, 18.06.2017, 10:26 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 2296
Репутация: 474 ±
Замечаний: 0% ±

2003-2010
В модуль листа:
[vba]
Код
Public Sub www()
    Sheets(2).Visible = IIf(Me.DrawingObjects("Check Box 1").Value = -4146, 0, 1)
End Sub
[/vba]И назначьте макрос чекбоксу.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеВ модуль листа:
[vba]
Код
Public Sub www()
    Sheets(2).Visible = IIf(Me.DrawingObjects("Check Box 1").Value = -4146, 0, 1)
End Sub
[/vba]И назначьте макрос чекбоксу.

Автор - KuklP
Дата добавления - 18.06.2017 в 10:26
Kuzmich Дата: Воскресенье, 18.06.2017, 10:51 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 298
Репутация: 56 ±
Замечаний: 0% ±

Excel 2003
Чекбокс можно связать с ячейкой, например F4, и назначить макрос
[vba]
Код
Sub Флажок1_Щелкнуть()
  Worksheets("Лист2").Visible = IIf(Range("F4"), 0, 1)
End Sub
[/vba]
 
Ответить
СообщениеЧекбокс можно связать с ячейкой, например F4, и назначить макрос
[vba]
Код
Sub Флажок1_Щелкнуть()
  Worksheets("Лист2").Visible = IIf(Range("F4"), 0, 1)
End Sub
[/vba]

Автор - Kuzmich
Дата добавления - 18.06.2017 в 10:51
ortan Дата: Воскресенье, 18.06.2017, 10:54 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Увы, выдает ошибку:
Ivaled use of Me keyword
К сообщению приложен файл: 1275512.png(4Kb)
 
Ответить
СообщениеУвы, выдает ошибку:
Ivaled use of Me keyword

Автор - ortan
Дата добавления - 18.06.2017 в 10:54
KuklP Дата: Воскресенье, 18.06.2017, 10:57 | Сообщение № 5
Группа: Проверенные
Ранг: Старожил
Сообщений: 2296
Репутация: 474 ±
Замечаний: 0% ±

2003-2010
И правильно выдает. Я писал для тех, кто умеет читать:
В модуль листа:
К сообщению приложен файл: -Microsoft_Exce.xlsm(22Kb)


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728


Сообщение отредактировал KuklP - Воскресенье, 18.06.2017, 11:00
 
Ответить
СообщениеИ правильно выдает. Я писал для тех, кто умеет читать:
В модуль листа:

Автор - KuklP
Дата добавления - 18.06.2017 в 10:57
ortan Дата: Воскресенье, 18.06.2017, 11:10 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 8
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо! Действительно я создал модуль и в него записывал макрос.

А можно ли то же само сделать например для двух листов сразу, что бы скрывался лист2 и лист3 на одном флажке?
 
Ответить
СообщениеСпасибо! Действительно я создал модуль и в него записывал макрос.

А можно ли то же само сделать например для двух листов сразу, что бы скрывался лист2 и лист3 на одном флажке?

Автор - ortan
Дата добавления - 18.06.2017 в 11:10
KuklP Дата: Воскресенье, 18.06.2017, 11:27 | Сообщение № 7
Группа: Проверенные
Ранг: Старожил
Сообщений: 2296
Репутация: 474 ±
Замечаний: 0% ±

2003-2010
Можно. Но смешно же. Хоть сорок листов.
[vba]
Код
Public Sub www()
Sheets(2).Visible = IIf(Me.DrawingObjects("Check Box 1").Value = -4146, 0, 1)
Sheets(3).Visible = IIf(Me.DrawingObjects("Check Box 1").Value = -4146, 0, 1)
End Sub
[/vba]


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеМожно. Но смешно же. Хоть сорок листов.
[vba]
Код
Public Sub www()
Sheets(2).Visible = IIf(Me.DrawingObjects("Check Box 1").Value = -4146, 0, 1)
Sheets(3).Visible = IIf(Me.DrawingObjects("Check Box 1").Value = -4146, 0, 1)
End Sub
[/vba]

Автор - KuklP
Дата добавления - 18.06.2017 в 11:27
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Условие If для флажка на показ/скрытие листа (Макросы/Sub)
Страница 1 из 11
Поиск:

Яндекс цитирования
© 2010-2017 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!