Доброго времени суток, уважаемые форумчане. Интересует вопрос, можно ли сделать выбор из списка с автоматическим созданием новых страниц и ссылкой на эти страницы. Например, у меня есть в столбце А есть категории "собаки" и "кошки" и в столбце В их породы. Как можно сделать так, чтобы при выборе породы, автоматически создавался лист с именем ячейки А+В (например, "собаки, Бигль"), если такого листа нет, а если такой лист есть, то он не дублируется, а просто идет ссылка на него, то есть при выборе породы "Бигль" открывается лист "собаки, Бигль".
Доброго времени суток, уважаемые форумчане. Интересует вопрос, можно ли сделать выбор из списка с автоматическим созданием новых страниц и ссылкой на эти страницы. Например, у меня есть в столбце А есть категории "собаки" и "кошки" и в столбце В их породы. Как можно сделать так, чтобы при выборе породы, автоматически создавался лист с именем ячейки А+В (например, "собаки, Бигль"), если такого листа нет, а если такой лист есть, то он не дублируется, а просто идет ссылка на него, то есть при выборе породы "Бигль" открывается лист "собаки, Бигль".roboaug
Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Me.[B:B]) Is Nothing Then Exit Sub If IsError(Application.Match(Target, Лист2.Range( _ Target.Offset(, -1)), 0)) Then Exit Sub Dim sh As Worksheet, Name As String * 31 Name = Application.Trim(Target.Offset(, -1) & ", " & Target) On Error Resume Next With Worksheets .Item(Name).Activate If Err = 0 Then Exit Sub .Add(, .Item(.Count)).Name = Name End With End Sub
[/vba]
Можно посредством VBA, В модуль листа пишем [vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Me.[B:B]) Is Nothing Then Exit Sub If IsError(Application.Match(Target, Лист2.Range( _ Target.Offset(, -1)), 0)) Then Exit Sub Dim sh As Worksheet, Name As String * 31 Name = Application.Trim(Target.Offset(, -1) & ", " & Target) On Error Resume Next With Worksheets .Item(Name).Activate If Err = 0 Then Exit Sub .Add(, .Item(.Count)).Name = Name End With End Sub