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

Вход

Регистрация

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

 

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

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

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

Автор - ortan
Дата добавления - 18.06.2017 в 10:03
KuklP Дата: Воскресенье, 18.06.2017, 10:26 | Сообщение № 2
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 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
Группа: Проверенные
Ранг: Ветеран
Сообщений: 711
Репутация: 156 ±
Замечаний: 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
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

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

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

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


Ну с НДС и мы чего-то ст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
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

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

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

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

Автор - ortan
Дата добавления - 18.06.2017 в 11:10
KuklP Дата: Воскресенье, 18.06.2017, 11:27 | Сообщение № 7
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 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 из 1
  • 1
Поиск:

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