Я не могу сообразить и настроить checkbox. Мне нужна такая функция, что на checkbox стоит галочка, значит отображает лист 1, если я уберу галочку, то лист 1 скрыт. И еще функция "Операция по выбору галочку на checkbox + кнопка выполнить". По выбору галочки, операция должна выполнить. Что-то мне с chekbox не понятно.
Я не могу сообразить и настроить checkbox. Мне нужна такая функция, что на checkbox стоит галочка, значит отображает лист 1, если я уберу галочку, то лист 1 скрыт. И еще функция "Операция по выбору галочку на checkbox + кнопка выполнить". По выбору галочки, операция должна выполнить. Что-то мне с chekbox не понятно.vegarus
Sub ttt() Dim i& For i = 16 To 18 Sheets(Me.CheckBoxes("Check Box " & i).Caption).Visible = IIf(Me.CheckBoxes("Check Box " & i).Value = 1, True, False) Next End Sub
[/vba] Только подписи (Caption) чекбоксов должны точно соответствовать именам листов.
например, вот так. В модуль листа [vba]
Код
Sub ttt() Dim i& For i = 16 To 18 Sheets(Me.CheckBoxes("Check Box " & i).Caption).Visible = IIf(Me.CheckBoxes("Check Box " & i).Value = 1, True, False) Next End Sub
[/vba] Только подписи (Caption) чекбоксов должны точно соответствовать именам листов.nilem
Еще проблема, у меня в книге на листе название другие, у меня ошибка является. А Чекбокс находится на главной с названием "Главная" Лист " 7 День 2; 1 День; 2 День, 3 День; 4 День; 5 День; 6 День; 7 День 2 "
[vba]
Код
Sub Check() Dim SheetName As String SheetName = 7 День.Shapes(Application.Caller).TextFrame.Characters.Caption If SheetName = ГЛАВНАЯ.Name Then MsgBox "Если скрыть этот лист, то скроются и все чекбоксы!": ГЛАВНАЯ.Shapes(Application.Caller).ControlFormat.Value = xlOn: Exit Sub On Error Resume Next ThisWorkbook.Worksheets(SheetName).Visible = 7 День.Shapes(Application.Caller).ControlFormat.Value = xlOn End Sub
[/vba]
Еще проблема, у меня в книге на листе название другие, у меня ошибка является. А Чекбокс находится на главной с названием "Главная" Лист " 7 День 2; 1 День; 2 День, 3 День; 4 День; 5 День; 6 День; 7 День 2 "
[vba]
Код
Sub Check() Dim SheetName As String SheetName = 7 День.Shapes(Application.Caller).TextFrame.Characters.Caption If SheetName = ГЛАВНАЯ.Name Then MsgBox "Если скрыть этот лист, то скроются и все чекбоксы!": ГЛАВНАЯ.Shapes(Application.Caller).ControlFormat.Value = xlOn: Exit Sub On Error Resume Next ThisWorkbook.Worksheets(SheetName).Visible = 7 День.Shapes(Application.Caller).ControlFormat.Value = xlOn End Sub
В моих процедурах обращение происходит по внутренним именам листов, а если хотите обращаться к ним по тем именам, которые написаны на ярлыках, то нужно так:[vba]
Код
Sub Check() Dim SheetName As String SheetName = ThisWorkbook.Worksheets("7 День").Shapes(Application.Caller).TextFrame.Characters.Caption If SheetName = "ГЛАВНАЯ" Then MsgBox "Если скрыть этот лист, то скроются и все чекбоксы!": ThisWorkbook.Worksheets("ГЛАВНАЯ").Shapes(Application.Caller).ControlFormat.Value = xlOn: Exit Sub On Error Resume Next ThisWorkbook.Worksheets(SheetName).Visible = ThisWorkbook.Worksheets("7 День").Shapes(Application.Caller).ControlFormat.Value = xlOn End Sub
[/vba]
В моих процедурах обращение происходит по внутренним именам листов, а если хотите обращаться к ним по тем именам, которые написаны на ярлыках, то нужно так:[vba]
Код
Sub Check() Dim SheetName As String SheetName = ThisWorkbook.Worksheets("7 День").Shapes(Application.Caller).TextFrame.Characters.Caption If SheetName = "ГЛАВНАЯ" Then MsgBox "Если скрыть этот лист, то скроются и все чекбоксы!": ThisWorkbook.Worksheets("ГЛАВНАЯ").Shapes(Application.Caller).ControlFormat.Value = xlOn: Exit Sub On Error Resume Next ThisWorkbook.Worksheets(SheetName).Visible = ThisWorkbook.Worksheets("7 День").Shapes(Application.Caller).ControlFormat.Value = xlOn End Sub
Простите, вопрос еще не исчерпан. KSV, как ты сказал, я сделал, но все равно появился ошибку, что компонент с именем не найден SheetName = ThisWorkbook.Worksheets("7 День").Shapes(Application.Caller).TextFrame.Characters.Caption
Прикрепил файл здесь
Простите, вопрос еще не исчерпан. KSV, как ты сказал, я сделал, но все равно появился ошибку, что компонент с именем не найден SheetName = ThisWorkbook.Worksheets("7 День").Shapes(Application.Caller).TextFrame.Characters.Caption
vegarus, здравствуйте. А почему Вы ищите флажки на листе 7? Они ведь у Вас на главной расположены, замените в коде название листа:[vba]
Код
Sub Check() Dim SheetName As String SheetName = ThisWorkbook.Worksheets("ГЛАВНАЯ").Shapes(Application.Caller).TextFrame.Characters.Caption If SheetName = "ГЛАВНАЯ" Then MsgBox "Если скрыть этот лист, то скроются и все чекбоксы!": ThisWorkbook.Worksheets("ГЛАВНАЯ").Shapes(Application.Caller).ControlFormat.Value = xlOn: Exit Sub On Error Resume Next ThisWorkbook.Worksheets(SheetName).Visible = ThisWorkbook.Worksheets("ГЛАВНАЯ").Shapes(Application.Caller).ControlFormat.Value = xlOn End Sub
[/vba]
vegarus, здравствуйте. А почему Вы ищите флажки на листе 7? Они ведь у Вас на главной расположены, замените в коде название листа:[vba]
Код
Sub Check() Dim SheetName As String SheetName = ThisWorkbook.Worksheets("ГЛАВНАЯ").Shapes(Application.Caller).TextFrame.Characters.Caption If SheetName = "ГЛАВНАЯ" Then MsgBox "Если скрыть этот лист, то скроются и все чекбоксы!": ThisWorkbook.Worksheets("ГЛАВНАЯ").Shapes(Application.Caller).ControlFormat.Value = xlOn: Exit Sub On Error Resume Next ThisWorkbook.Worksheets(SheetName).Visible = ThisWorkbook.Worksheets("ГЛАВНАЯ").Shapes(Application.Caller).ControlFormat.Value = xlOn End Sub
Здравствуйте! У меня к Вам помощь сделать маленький макрос. Мне нужен макрос, так что галочки выбираются несколько и не все. Галочки стоят и будут делать операцию. Если галочки не стоят и пропускает операцию. [moder]А причем здесь скрытие листов из исходного вопроса? Нужна новая тема. И пример сделайте поподробнее, что за "Операция 1"? Какие действия должен выполнять макрос?[/moder]
Здравствуйте! У меня к Вам помощь сделать маленький макрос. Мне нужен макрос, так что галочки выбираются несколько и не все. Галочки стоят и будут делать операцию. Если галочки не стоят и пропускает операцию. [moder]А причем здесь скрытие листов из исходного вопроса? Нужна новая тема. И пример сделайте поподробнее, что за "Операция 1"? Какие действия должен выполнять макрос?[/moder]vegarus