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

Вход

Регистрация

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

 

= Мир MS Excel/Отобразить скрытые листы согласно пароля через макрос - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 212»
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Отобразить скрытые листы согласно пароля через макрос (Макросы/Sub)
Отобразить скрытые листы согласно пароля через макрос
lebensvoll Дата: Среда, 27.04.2016, 16:19 | Сообщение № 1
Группа: Проверенные
Ранг: Ветеран
Сообщений: 645
Репутация: 2 ±
Замечаний: 60% ±

Excel 2010
Добрый день уважаемые форумчане!!!
Сегодня бухгалтерия обратилась за помощью. Можно ли сделать так чтоб один файл для одних отображал лишь те листы которые им нужны а другим лишь те которые другим нужны. И я вспомнил что как то в этой теме: My WebPage ТЕЗКА предложил вариант My WebPage
Цитата
Дата: Понедельник, 21.07.2014, 18:28 | Сообщение № 6
.
Можно ли этот макрос переделать:
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error Resume Next
    If Target.Address(0, 0) <> "B2" Then
        Application.CutCopyMode = False
        If Target.Address(0, 0) <> "B1" Then Range("B1").Select
    End If
    On Error GoTo 0
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(0, 0) <> "B2" Then Exit Sub
    On Error Resume Next
    p_ = WorksheetFunction.VLookup(Range("B1"), Лист4.[A2:B999], 2, False)
    On Error GoTo 0
    If Range("B2") <> p_ Then MsgBox "Неверный пароль": Exit Sub
    sk_ = ThisWorkbook.Sheets.Count
    sa_ = ActiveSheet.Name
    If Range("B1") = Лист4.Range("A2") Then
        For i = 1 To sk_
            Sheets(i).Visible = xlSheetVisible
        Next i
    Else
        sn_ = Range("B1")
        Sheets(sn_).Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> sn_ Then Sheets(i).Visible = xlSheetVeryHidden
        Next i
    End If
End Sub

[/vba]
чтоб открывались вот такие листы: ШЕФ 111 и открываются все листы
если Программисты 222 то открывается лишь лист загрузка в 1с
К сообщению приложен файл: Nov1.xlsb(92Kb)


Кто бы ты ни был, мир в твоих руках
 
Ответить
СообщениеДобрый день уважаемые форумчане!!!
Сегодня бухгалтерия обратилась за помощью. Можно ли сделать так чтоб один файл для одних отображал лишь те листы которые им нужны а другим лишь те которые другим нужны. И я вспомнил что как то в этой теме: My WebPage ТЕЗКА предложил вариант My WebPage
Цитата
Дата: Понедельник, 21.07.2014, 18:28 | Сообщение № 6
.
Можно ли этот макрос переделать:
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error Resume Next
    If Target.Address(0, 0) <> "B2" Then
        Application.CutCopyMode = False
        If Target.Address(0, 0) <> "B1" Then Range("B1").Select
    End If
    On Error GoTo 0
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(0, 0) <> "B2" Then Exit Sub
    On Error Resume Next
    p_ = WorksheetFunction.VLookup(Range("B1"), Лист4.[A2:B999], 2, False)
    On Error GoTo 0
    If Range("B2") <> p_ Then MsgBox "Неверный пароль": Exit Sub
    sk_ = ThisWorkbook.Sheets.Count
    sa_ = ActiveSheet.Name
    If Range("B1") = Лист4.Range("A2") Then
        For i = 1 To sk_
            Sheets(i).Visible = xlSheetVisible
        Next i
    Else
        sn_ = Range("B1")
        Sheets(sn_).Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> sn_ Then Sheets(i).Visible = xlSheetVeryHidden
        Next i
    End If
End Sub

[/vba]
чтоб открывались вот такие листы: ШЕФ 111 и открываются все листы
если Программисты 222 то открывается лишь лист загрузка в 1с

Автор - lebensvoll
Дата добавления - 27.04.2016 в 16:19
devilkurs Дата: Среда, 27.04.2016, 16:49 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 141
Репутация: 38 ±
Замечаний: 0% ±

Excel 2007, 2010
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error Resume Next
    If Target.Address(0, 0) <> "B2" Then
        Application.CutCopyMode = False
        If Target.Address(0, 0) <> "B1" Then Range("B1").Select
    End If
    On Error GoTo 0
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(0, 0) <> "B2" Then Exit Sub
    On Error Resume Next
    p_ = WorksheetFunction.VLookup(Range("B1"), Лист4.[A2:B999], 2, False)
    On Error GoTo 0
    If Range("B2") <> p_ Then MsgBox "Неверный пароль": Exit Sub
    sk_ = ThisWorkbook.Sheets.Count
    sa_ = ActiveSheet.Name
    Application.ScreenUpdating = False
    
    Select Case Range("B1")
    Case Лист4.Range("A2") 'Шеф
        For i = 1 To sk_
            Sheets(i).Visible = xlSheetVisible
        Next i
    Case Лист4.Range("A3") 'Програмисты
        Лист11.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист11.Name And Sheets(i).Name <> Лист1.Name And _
               Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
        Next i
    Case Лист4.Range("A4") 'Петров
        'ля ля ля что-то для Петрова
    End Select
    Application.ScreenUpdating = True
End Sub
[/vba]


 
Ответить
Сообщение[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error Resume Next
    If Target.Address(0, 0) <> "B2" Then
        Application.CutCopyMode = False
        If Target.Address(0, 0) <> "B1" Then Range("B1").Select
    End If
    On Error GoTo 0
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(0, 0) <> "B2" Then Exit Sub
    On Error Resume Next
    p_ = WorksheetFunction.VLookup(Range("B1"), Лист4.[A2:B999], 2, False)
    On Error GoTo 0
    If Range("B2") <> p_ Then MsgBox "Неверный пароль": Exit Sub
    sk_ = ThisWorkbook.Sheets.Count
    sa_ = ActiveSheet.Name
    Application.ScreenUpdating = False
    
    Select Case Range("B1")
    Case Лист4.Range("A2") 'Шеф
        For i = 1 To sk_
            Sheets(i).Visible = xlSheetVisible
        Next i
    Case Лист4.Range("A3") 'Програмисты
        Лист11.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист11.Name And Sheets(i).Name <> Лист1.Name And _
               Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
        Next i
    Case Лист4.Range("A4") 'Петров
        'ля ля ля что-то для Петрова
    End Select
    Application.ScreenUpdating = True
End Sub
[/vba]

Автор - devilkurs
Дата добавления - 27.04.2016 в 16:49
lebensvoll Дата: Среда, 27.04.2016, 17:16 | Сообщение № 3
Группа: Проверенные
Ранг: Ветеран
Сообщений: 645
Репутация: 2 ±
Замечаний: 60% ±

Excel 2010
devilkurs, Все работает СУПЕР!!! Спасибо огромное....
Пароль для открывания я задаю на листе доп правильно я понял???


Кто бы ты ни был, мир в твоих руках
 
Ответить
Сообщениеdevilkurs, Все работает СУПЕР!!! Спасибо огромное....
Пароль для открывания я задаю на листе доп правильно я понял???

Автор - lebensvoll
Дата добавления - 27.04.2016 в 17:16
lebensvoll Дата: Среда, 27.04.2016, 17:26 | Сообщение № 4
Группа: Проверенные
Ранг: Ветеран
Сообщений: 645
Репутация: 2 ±
Замечаний: 60% ±

Excel 2010
devilkurs, столкнулся с трудностью (((( когда открываешь файл и выбираешь программисты вводишь пароль то (((((( увы(((( а вот если использовать сначала ШЕФ и пароль то все открывает и лишь потом если выбрать программисты и ввести пароль то он откроет то что нужно программиста (((( что то как то не то????


Кто бы ты ни был, мир в твоих руках
 
Ответить
Сообщениеdevilkurs, столкнулся с трудностью (((( когда открываешь файл и выбираешь программисты вводишь пароль то (((((( увы(((( а вот если использовать сначала ШЕФ и пароль то все открывает и лишь потом если выбрать программисты и ввести пароль то он откроет то что нужно программиста (((( что то как то не то????

Автор - lebensvoll
Дата добавления - 27.04.2016 в 17:26
lebensvoll Дата: Среда, 27.04.2016, 17:28 | Сообщение № 5
Группа: Проверенные
Ранг: Ветеран
Сообщений: 645
Репутация: 2 ±
Замечаний: 60% ±

Excel 2010
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error Resume Next
    If Target.Address(0, 0) <> "B2" Then
        Application.CutCopyMode = False
        If Target.Address(0, 0) <> "B1" Then Range("B1").Select
    End If
    On Error GoTo 0
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(0, 0) <> "B2" Then Exit Sub
    On Error Resume Next
    p_ = WorksheetFunction.VLookup(Range("B1"), Лист4.[A2:B999], 2, False)
    On Error GoTo 0
    If Range("B2") <> p_ Then MsgBox "Неверный пароль": Exit Sub
    sk_ = ThisWorkbook.Sheets.Count
    sa_ = ActiveSheet.Name
    Application.ScreenUpdating = False
    
    Select Case Range("B1")
    Case Лист4.Range("A2") 'Шеф
        For i = 1 To sk_
            Sheets(i).Visible = xlSheetVisible
        Next i
    Case Лист4.Range("A3") 'Програмисты
        Лист11.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист9.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
        Next i
    Case Лист4.Range("A4") 'Анисимов
        'нормы расхода
        Лист11.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист8.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
        Next i
    End Select
    Application.ScreenUpdating = True
End Sub
[/vba]


Кто бы ты ни был, мир в твоих руках
 
Ответить
Сообщение[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error Resume Next
    If Target.Address(0, 0) <> "B2" Then
        Application.CutCopyMode = False
        If Target.Address(0, 0) <> "B1" Then Range("B1").Select
    End If
    On Error GoTo 0
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(0, 0) <> "B2" Then Exit Sub
    On Error Resume Next
    p_ = WorksheetFunction.VLookup(Range("B1"), Лист4.[A2:B999], 2, False)
    On Error GoTo 0
    If Range("B2") <> p_ Then MsgBox "Неверный пароль": Exit Sub
    sk_ = ThisWorkbook.Sheets.Count
    sa_ = ActiveSheet.Name
    Application.ScreenUpdating = False
    
    Select Case Range("B1")
    Case Лист4.Range("A2") 'Шеф
        For i = 1 To sk_
            Sheets(i).Visible = xlSheetVisible
        Next i
    Case Лист4.Range("A3") 'Програмисты
        Лист11.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист9.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
        Next i
    Case Лист4.Range("A4") 'Анисимов
        'нормы расхода
        Лист11.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист8.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
        Next i
    End Select
    Application.ScreenUpdating = True
End Sub
[/vba]

Автор - lebensvoll
Дата добавления - 27.04.2016 в 17:28
lebensvoll Дата: Среда, 27.04.2016, 17:30 | Сообщение № 6
Группа: Проверенные
Ранг: Ветеран
Сообщений: 645
Репутация: 2 ±
Замечаний: 60% ±

Excel 2010
Все нашел свою ошибку )))) в одном месте указываю один лист в другом указываю другой (((( опять спешу и невнимательно отношусь к делу. ВСЕ РАБОТАЕТ СПАСИБО


Кто бы ты ни был, мир в твоих руках
 
Ответить
СообщениеВсе нашел свою ошибку )))) в одном месте указываю один лист в другом указываю другой (((( опять спешу и невнимательно отношусь к делу. ВСЕ РАБОТАЕТ СПАСИБО

Автор - lebensvoll
Дата добавления - 27.04.2016 в 17:30
krosav4ig Дата: Среда, 27.04.2016, 18:19 | Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 1349
Репутация: 547 ±
Замечаний: 0% ±

Excel 2007, 2013
еще вариант, для каждого юзера нужно создать представление (я создал 2 - Старт и Программисты
пароль на книгу - 123456


К сообщению приложен файл: 7980453.xlsb(70Kb)


(_)Õvõ(_)

Сообщение отредактировал krosav4ig - Среда, 27.04.2016, 18:22
 
Ответить
Сообщениееще вариант, для каждого юзера нужно создать представление (я создал 2 - Старт и Программисты
пароль на книгу - 123456



Автор - krosav4ig
Дата добавления - 27.04.2016 в 18:19
lebensvoll Дата: Понедельник, 20.06.2016, 14:17 | Сообщение № 8
Группа: Проверенные
Ранг: Ветеран
Сообщений: 645
Репутация: 2 ±
Замечаний: 60% ±

Excel 2010
devilkurs, krosav4ig, добрый день прошу вас помочь разобраться как добавлять юзера и открытие нужных для него листов!?
[img][/img]
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error Resume Next
    If Target.Address(0, 0) <> "B2" Then
        Application.CutCopyMode = False
        If Target.Address(0, 0) <> "B1" Then Range("B1").Select
    End If
    On Error GoTo 0
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(0, 0) <> "B2" Then Exit Sub
    On Error Resume Next
    p_ = WorksheetFunction.VLookup(Range("B1"), Лист4.[A2:B999], 2, False)
    On Error GoTo 0
    If Range("B2") <> p_ Then MsgBox "Неверный пароль": Exit Sub
    sk_ = ThisWorkbook.Sheets.Count
    sa_ = ActiveSheet.Name
    Application.ScreenUpdating = False
    
    Select Case Range("B1")
    Case Лист4.Range("A2") 'Шеф
        For i = 1 To sk_
            Sheets(i).Visible = xlSheetVisible
        Next i
    Case Лист4.Range("A3") 'Програмисты
        Лист9.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист9.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
        Next i
    Case Лист4.Range("A4") 'Кузнецов
        'нормы расхода
        Лист8.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист8.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
       Next i
    Case Лист4.Range("A5") 'Железнов
        'прайс калькулятор накладные цены транспорт приказ10 приказ11 прайс10 прайс11 прайс12 прайс01 прайс02
        Лист7.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист7.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
       Next i
    End Select
    Application.ScreenUpdating = True
End Sub
[/vba]
чтоб для Железного открывался лист я понял как а как чтоб несколько листов я не могу разобраться


Кто бы ты ни был, мир в твоих руках
 
Ответить
Сообщениеdevilkurs, krosav4ig, добрый день прошу вас помочь разобраться как добавлять юзера и открытие нужных для него листов!?
[img][/img]
[vba]
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    On Error Resume Next
    If Target.Address(0, 0) <> "B2" Then
        Application.CutCopyMode = False
        If Target.Address(0, 0) <> "B1" Then Range("B1").Select
    End If
    On Error GoTo 0
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(0, 0) <> "B2" Then Exit Sub
    On Error Resume Next
    p_ = WorksheetFunction.VLookup(Range("B1"), Лист4.[A2:B999], 2, False)
    On Error GoTo 0
    If Range("B2") <> p_ Then MsgBox "Неверный пароль": Exit Sub
    sk_ = ThisWorkbook.Sheets.Count
    sa_ = ActiveSheet.Name
    Application.ScreenUpdating = False
    
    Select Case Range("B1")
    Case Лист4.Range("A2") 'Шеф
        For i = 1 To sk_
            Sheets(i).Visible = xlSheetVisible
        Next i
    Case Лист4.Range("A3") 'Програмисты
        Лист9.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист9.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
        Next i
    Case Лист4.Range("A4") 'Кузнецов
        'нормы расхода
        Лист8.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист8.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
       Next i
    Case Лист4.Range("A5") 'Железнов
        'прайс калькулятор накладные цены транспорт приказ10 приказ11 прайс10 прайс11 прайс12 прайс01 прайс02
        Лист7.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист7.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
       Next i
    End Select
    Application.ScreenUpdating = True
End Sub
[/vba]
чтоб для Железного открывался лист я понял как а как чтоб несколько листов я не могу разобраться

Автор - lebensvoll
Дата добавления - 20.06.2016 в 14:17
lebensvoll Дата: Понедельник, 20.06.2016, 15:43 | Сообщение № 9
Группа: Проверенные
Ранг: Ветеран
Сообщений: 645
Репутация: 2 ±
Замечаний: 60% ±

Excel 2010
Уважаемые форумчане помогите пожалуйста разобраться. Чтоб для для ЖЕЛЕЗНОГО открывались листы: прайс калькулятор накладные цены транспорт приказ10 приказ11 прайс10 прайс11 прайс12 прайс01 прайс02
[vba]
Код
Case Лист4.Range("A5") 'Железнов
        'прайс калькулятор накладные цены транспорт приказ10 приказ11 прайс10 прайс11 прайс12 прайс01 прайс02
        Лист7.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист7.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
    Next i
[/vba]
или же мне каждый раз писать этот код для другого листа
[vba]
Код
Case Лист4.Range("A5") 'Железнов
        'прайс калькулятор накладные цены транспорт приказ10 приказ11 прайс10 прайс11 прайс12 прайс01 прайс02
        Лист6.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист6.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
    Next i
[/vba]


Кто бы ты ни был, мир в твоих руках
 
Ответить
СообщениеУважаемые форумчане помогите пожалуйста разобраться. Чтоб для для ЖЕЛЕЗНОГО открывались листы: прайс калькулятор накладные цены транспорт приказ10 приказ11 прайс10 прайс11 прайс12 прайс01 прайс02
[vba]
Код
Case Лист4.Range("A5") 'Железнов
        'прайс калькулятор накладные цены транспорт приказ10 приказ11 прайс10 прайс11 прайс12 прайс01 прайс02
        Лист7.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист7.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
    Next i
[/vba]
или же мне каждый раз писать этот код для другого листа
[vba]
Код
Case Лист4.Range("A5") 'Железнов
        'прайс калькулятор накладные цены транспорт приказ10 приказ11 прайс10 прайс11 прайс12 прайс01 прайс02
        Лист6.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист6.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
    Next i
[/vba]

Автор - lebensvoll
Дата добавления - 20.06.2016 в 15:43
lebensvoll Дата: Понедельник, 20.06.2016, 16:24 | Сообщение № 10
Группа: Проверенные
Ранг: Ветеран
Сообщений: 645
Репутация: 2 ±
Замечаний: 60% ±

Excel 2010
если я вот так прописываю то он просто открывает лишь один лист Транспорт а другие нет (((((
[vba]
Код
Case Лист4.Range("A5") 'Железнов
        'транспорт
        Лист7.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист7.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
       Next i
       Case Лист4.Range("A5") 'Железнов
        'цены
        Лист6.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист6.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
       Next i
       Case Лист4.Range("A5") 'Железнов
        'накладные
        Лист5.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист5.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
       Next i
       Case Лист4.Range("A5") 'Железнов
        'калькулятор
        Лист3.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист3.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
       Next i
       Case Лист4.Range("A5") 'Железнов
        'прайс
        Лист2.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист2.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
       Next i
[/vba]


Кто бы ты ни был, мир в твоих руках
 
Ответить
Сообщениеесли я вот так прописываю то он просто открывает лишь один лист Транспорт а другие нет (((((
[vba]
Код
Case Лист4.Range("A5") 'Железнов
        'транспорт
        Лист7.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист7.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
       Next i
       Case Лист4.Range("A5") 'Железнов
        'цены
        Лист6.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист6.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
       Next i
       Case Лист4.Range("A5") 'Железнов
        'накладные
        Лист5.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист5.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
       Next i
       Case Лист4.Range("A5") 'Железнов
        'калькулятор
        Лист3.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист3.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
       Next i
       Case Лист4.Range("A5") 'Железнов
        'прайс
        Лист2.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист2.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
       Next i
[/vba]

Автор - lebensvoll
Дата добавления - 20.06.2016 в 16:24
lebensvoll Дата: Вторник, 21.06.2016, 09:22 | Сообщение № 11
Группа: Проверенные
Ранг: Ветеран
Сообщений: 645
Репутация: 2 ±
Замечаний: 60% ±

Excel 2010
Доброе утро всем!!!
Уважаемые форумчане ну помогите пжл прописать данный код... Чтоб для оператора ЖЕЛЕЗНОГО открывались нужные ему листы ((((( я не могу понять как. Если я прописываю для него (Дата: Понедельник, 20.06.2016, 16:24 | Сообщение № 10) так вот, то получается что он открывает лишь лист "транспорт". А все остальные он не открывает (((((


Кто бы ты ни был, мир в твоих руках
 
Ответить
СообщениеДоброе утро всем!!!
Уважаемые форумчане ну помогите пжл прописать данный код... Чтоб для оператора ЖЕЛЕЗНОГО открывались нужные ему листы ((((( я не могу понять как. Если я прописываю для него (Дата: Понедельник, 20.06.2016, 16:24 | Сообщение № 10) так вот, то получается что он открывает лишь лист "транспорт". А все остальные он не открывает (((((

Автор - lebensvoll
Дата добавления - 21.06.2016 в 09:22
RAN Дата: Вторник, 21.06.2016, 09:35 | Сообщение № 12
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4277
Репутация: 829 ±
Замечаний: 0% ±

2010
Этих макросов на форуме как грязи.
Например


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеЭтих макросов на форуме как грязи.
Например

Автор - RAN
Дата добавления - 21.06.2016 в 09:35
lebensvoll Дата: Вторник, 21.06.2016, 09:54 | Сообщение № 13
Группа: Проверенные
Ранг: Ветеран
Сообщений: 645
Репутация: 2 ±
Замечаний: 60% ±

Excel 2010
RAN, согласен с вами полностью. Но чтоб их применить нужно понимать их прописывание. А с этим ((((( у меня проблемы.
я прошел по ссылке чтоб воспользоваться вашим советом и :
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(0, 0) <> "B2" Then Exit Sub
    On Error Resume Next
    p_ = WorksheetFunction.VLookup(Range("B1"), Лист4.[A2:B999], 2, False)
    On Error GoTo 0
    If Range("B2") <> p_ Then MsgBox "Неверный пароль": Exit Sub
    sk_ = ThisWorkbook.Sheets.Count
    sa_ = ActiveSheet.Name
    Application.ScreenUpdating = False
    
    Select Case Range("B1")
    Case Лист4.Range("A2") 'Шеф
        For i = 1 To sk_
            Sheets(i).Visible = xlSheetVisible
        Next i
    Case Лист4.Range("A3") 'Програмисты
        Лист9.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист9.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
        Next i
    Case Лист4.Range("A4") 'Кузнецов
        'нормы расхода
        Лист8.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист8.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
       Next i
       Case Лист4.Range("A5") 'Железнов
        'листы
        For Each x In Array("Лист6 (Цены)", "Лист5 (Накладные)")
            Sheets(x).Visible = -1
        Next
    End Select
    Application.ScreenUpdating = True
End Sub
[/vba]
что то так он и вовсе мне не отрыл листы ((((( в предыдущих постах у меня хоть один лист открывал для Железного а с этим нет (((((


Кто бы ты ни был, мир в твоих руках
 
Ответить
СообщениеRAN, согласен с вами полностью. Но чтоб их применить нужно понимать их прописывание. А с этим ((((( у меня проблемы.
я прошел по ссылке чтоб воспользоваться вашим советом и :
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address(0, 0) <> "B2" Then Exit Sub
    On Error Resume Next
    p_ = WorksheetFunction.VLookup(Range("B1"), Лист4.[A2:B999], 2, False)
    On Error GoTo 0
    If Range("B2") <> p_ Then MsgBox "Неверный пароль": Exit Sub
    sk_ = ThisWorkbook.Sheets.Count
    sa_ = ActiveSheet.Name
    Application.ScreenUpdating = False
    
    Select Case Range("B1")
    Case Лист4.Range("A2") 'Шеф
        For i = 1 To sk_
            Sheets(i).Visible = xlSheetVisible
        Next i
    Case Лист4.Range("A3") 'Програмисты
        Лист9.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист9.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
        Next i
    Case Лист4.Range("A4") 'Кузнецов
        'нормы расхода
        Лист8.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист8.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
       Next i
       Case Лист4.Range("A5") 'Железнов
        'листы
        For Each x In Array("Лист6 (Цены)", "Лист5 (Накладные)")
            Sheets(x).Visible = -1
        Next
    End Select
    Application.ScreenUpdating = True
End Sub
[/vba]
что то так он и вовсе мне не отрыл листы ((((( в предыдущих постах у меня хоть один лист открывал для Железного а с этим нет (((((

Автор - lebensvoll
Дата добавления - 21.06.2016 в 09:54
lebensvoll Дата: Вторник, 21.06.2016, 10:58 | Сообщение № 14
Группа: Проверенные
Ранг: Ветеран
Сообщений: 645
Репутация: 2 ±
Замечаний: 60% ±

Excel 2010
Уважаемые форумчане прошу вас помогите мне!!!
Как мне добавить для "оператора ЖЕЛЕЗНОГО" открытие нужных ему листов, т.е.:
Лист10(Приказ (10)); Лист11(Приказ (11)); Лист12 (Прайс (10)); Лист13(Прайс (11)); Лист14 (Прайс (12)); Лист15(Прайс (01)); Лист16(Прайс (02)); Лист2(Прайс); Лист3(Калькулятор); Лист5(Накладные); Лист6 (Цены); Лист7 (Транспорт).
ПОЖАЛУЙСТА ПОМОГИТЕ как этот код прописать в действующий уже код???? ЗАРАНЕЕ СПАСИБО ВАМ ОГРОМНОЕ!!!


Кто бы ты ни был, мир в твоих руках
 
Ответить
СообщениеУважаемые форумчане прошу вас помогите мне!!!
Как мне добавить для "оператора ЖЕЛЕЗНОГО" открытие нужных ему листов, т.е.:
Лист10(Приказ (10)); Лист11(Приказ (11)); Лист12 (Прайс (10)); Лист13(Прайс (11)); Лист14 (Прайс (12)); Лист15(Прайс (01)); Лист16(Прайс (02)); Лист2(Прайс); Лист3(Калькулятор); Лист5(Накладные); Лист6 (Цены); Лист7 (Транспорт).
ПОЖАЛУЙСТА ПОМОГИТЕ как этот код прописать в действующий уже код???? ЗАРАНЕЕ СПАСИБО ВАМ ОГРОМНОЕ!!!

Автор - lebensvoll
Дата добавления - 21.06.2016 в 10:58
lebensvoll Дата: Вторник, 21.06.2016, 11:34 | Сообщение № 15
Группа: Проверенные
Ранг: Ветеран
Сообщений: 645
Репутация: 2 ±
Замечаний: 60% ±

Excel 2010
Boroda, Pelena, Manyasha, SLAVICK, уважаемые модераторы прошу вас помогите с прописыванием данного макроса...


Кто бы ты ни был, мир в твоих руках
 
Ответить
СообщениеBoroda, Pelena, Manyasha, SLAVICK, уважаемые модераторы прошу вас помогите с прописыванием данного макроса...

Автор - lebensvoll
Дата добавления - 21.06.2016 в 11:34
SLAVICK Дата: Вторник, 21.06.2016, 12:10 | Сообщение № 16
Группа: Модераторы
Ранг: Старожил
Сообщений: 1841
Репутация: 614 ±
Замечаний: 0% ±

2007,2010,2013,2016
см. здесь 22-й пост(ну и ранее есть)
Там на листе доп в колонку "С" - впишите через запятую имена листов.


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщениесм. здесь 22-й пост(ну и ранее есть)
Там на листе доп в колонку "С" - впишите через запятую имена листов.

Автор - SLAVICK
Дата добавления - 21.06.2016 в 12:10
lebensvoll Дата: Вторник, 21.06.2016, 13:12 | Сообщение № 17
Группа: Проверенные
Ранг: Ветеран
Сообщений: 645
Репутация: 2 ±
Замечаний: 60% ±

Excel 2010
SLAVICK, прошу вас помогите мне написать код
вот смотрите если оператор ШЕФ использует данный документ он вбивает пароль 111 и для него открываются все листы, код:
[vba]
Код
Case Лист4.Range("A2") 'Шеф
        For i = 1 To sk_
            Sheets(i).Visible = xlSheetVisible
        Next i
[/vba]
ПРАВИЛЬНО ведь!?
Если данным документом пользуется программист то он использует свой пароль для пользования данным документом (к примеру пароль 222) и ему открывается лишь лист9 "Загрузка в 1С"
[vba]
Код
Case Лист4.Range("A3") 'Програмисты
        Лист9.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист9.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
        Next i
[/vba]
я добавил еще одного сотрудника и Кузнецова и присвоил ему пароль с открыванием листа "Нормы расхода"
[vba]
Код
Case Лист4.Range("A4") 'Кузнецов
        'нормы расхода
        Лист8.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист8.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
    Next i
[/vba]
Я прекрасно понимаю что в данных кодах для программистов и кузнецова прописано лишь для открывания одного листа. А для шефа позволено пользование всех листов.
Но, как сделать чтоб для добавленного сотрудника "ЖЕЛЕЗНОГО" открывались НЕСКОЛЬКО ЛИСТОВ!? Если я использую код как у "программистов и кузнецова" то он мне открывает лишь один ЛИСТ (((( и как добавить в этот код еще несколько листов не получается (((((. Я думал что можно несколько раз прописать для ЖЕЗНОГО этот код:
[vba]
Код
Case Лист4.Range("A5") 'Железнов
        'транспорт
        Лист7.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист7.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
    Next i
    Case Лист4.Range("A5") 'Железнов
        'цены
        Лист6.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист6.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
    Next i
[/vba]
Но и тут меня ждало разочарование он мне открывает лишь первый заданный лист но ни как ни два ((((( и не могу сообразить что именно я должен вытянуть из этих постов предложенных вами и RAN,
Не могли бы вы подправить мне код на несколько листов для сотрудника, а я потом по аналогии продолжу при писание. Если же вам это не сложно.
Заранее вам спасибо огромное!!!


Кто бы ты ни был, мир в твоих руках
 
Ответить
СообщениеSLAVICK, прошу вас помогите мне написать код
вот смотрите если оператор ШЕФ использует данный документ он вбивает пароль 111 и для него открываются все листы, код:
[vba]
Код
Case Лист4.Range("A2") 'Шеф
        For i = 1 To sk_
            Sheets(i).Visible = xlSheetVisible
        Next i
[/vba]
ПРАВИЛЬНО ведь!?
Если данным документом пользуется программист то он использует свой пароль для пользования данным документом (к примеру пароль 222) и ему открывается лишь лист9 "Загрузка в 1С"
[vba]
Код
Case Лист4.Range("A3") 'Програмисты
        Лист9.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист9.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
        Next i
[/vba]
я добавил еще одного сотрудника и Кузнецова и присвоил ему пароль с открыванием листа "Нормы расхода"
[vba]
Код
Case Лист4.Range("A4") 'Кузнецов
        'нормы расхода
        Лист8.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист8.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
    Next i
[/vba]
Я прекрасно понимаю что в данных кодах для программистов и кузнецова прописано лишь для открывания одного листа. А для шефа позволено пользование всех листов.
Но, как сделать чтоб для добавленного сотрудника "ЖЕЛЕЗНОГО" открывались НЕСКОЛЬКО ЛИСТОВ!? Если я использую код как у "программистов и кузнецова" то он мне открывает лишь один ЛИСТ (((( и как добавить в этот код еще несколько листов не получается (((((. Я думал что можно несколько раз прописать для ЖЕЗНОГО этот код:
[vba]
Код
Case Лист4.Range("A5") 'Железнов
        'транспорт
        Лист7.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист7.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
    Next i
    Case Лист4.Range("A5") 'Железнов
        'цены
        Лист6.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист6.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
    Next i
[/vba]
Но и тут меня ждало разочарование он мне открывает лишь первый заданный лист но ни как ни два ((((( и не могу сообразить что именно я должен вытянуть из этих постов предложенных вами и RAN,
Не могли бы вы подправить мне код на несколько листов для сотрудника, а я потом по аналогии продолжу при писание. Если же вам это не сложно.
Заранее вам спасибо огромное!!!

Автор - lebensvoll
Дата добавления - 21.06.2016 в 13:12
Manyasha Дата: Вторник, 21.06.2016, 13:24 | Сообщение № 18
Группа: Модераторы
Ранг: Старожил
Сообщений: 1587
Репутация: 669 ±
Замечаний: 0% ±

Excel 2007, 2010
lebensvoll, Вы не правильно используете Select Case. Для каждого пользователя может быть только 1 case. Почитайте тут
Попробуйте так:
[vba]
Код
Case Лист4.Range("A5") 'Железнов
        'транспорт
        Лист7.Visible = xlSheetVisible
        'цены
        Лист6.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист6.Name And Sheets(i).Name <> Лист7.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
        Next i
[/vba]


marinamorozova_box@mail.ru
ЯД: 410013299366744 WM: R193491431804
 
Ответить
Сообщениеlebensvoll, Вы не правильно используете Select Case. Для каждого пользователя может быть только 1 case. Почитайте тут
Попробуйте так:
[vba]
Код
Case Лист4.Range("A5") 'Железнов
        'транспорт
        Лист7.Visible = xlSheetVisible
        'цены
        Лист6.Visible = xlSheetVisible
        For i = 1 To sk_
            If Sheets(i).Name <> Лист6.Name And Sheets(i).Name <> Лист7.Name And Sheets(i).Name <> Лист1.Name And _
            Sheets(i).Visible <> xlSheetVeryHidden Then Sheets(i).Visible = xlSheetVeryHidden
        Next i
[/vba]

Автор - Manyasha
Дата добавления - 21.06.2016 в 13:24
SLAVICK Дата: Вторник, 21.06.2016, 13:30 | Сообщение № 19
Группа: Модераторы
Ранг: Старожил
Сообщений: 1841
Репутация: 614 ±
Замечаний: 0% ±

2007,2010,2013,2016
и не могу сообразить что именно я должен вытянуть из этих постов предложенных вами и RAN,

22-й пост

Вы файл из 22-го поста смотрели? (особенно лист "ДОП") >(
Там все уже сделано. Нужно только добавить свои листы и в
на листе "доп" в колонку "С"

вписать через запятую названия своих листов и не нужно будет прямо в коде прописывать их.


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
и не могу сообразить что именно я должен вытянуть из этих постов предложенных вами и RAN,

22-й пост

Вы файл из 22-го поста смотрели? (особенно лист "ДОП") >(
Там все уже сделано. Нужно только добавить свои листы и в
на листе "доп" в колонку "С"

вписать через запятую названия своих листов и не нужно будет прямо в коде прописывать их.

Автор - SLAVICK
Дата добавления - 21.06.2016 в 13:30
lebensvoll Дата: Вторник, 21.06.2016, 13:39 | Сообщение № 20
Группа: Проверенные
Ранг: Ветеран
Сообщений: 645
Репутация: 2 ±
Замечаний: 60% ±

Excel 2010
SLAVICK, да не нужно кричать то так (((( конечно же я смотрел и пост и даже пытался файл посмотреть и проанализировать но вот что получаю при разархивировании (((((
[img][/img]
Manyasha, СПАСИБО ВАМ ОГРОМНОЕ!!! Я был близок к решению ))))) я пытался сначала сделать как то так )))
[vba]
Код
If Sheets(i).Name <> Лист6.Name And Sheets(i).Name <> Лист1.Name And _
If Sheets(i).Name <> Лист7.Name And Sheets(i).Name <> Лист1.Name And _
If Sheets(i).Name <> Лист8.Name And Sheets(i).Name <> Лист1.Name And _
[/vba]
Но код потом ругался ((((((
Пытался сделать и так (((((
[vba]
Код
Case Лист4.Range("A5") 'Железнов
        'транспорт
        Лист7.Visible = xlSheetVisible
        'цены
        Лист6.Visible = xlSheetVisible
[/vba]
но прописывал листы продолжал так вот ))))
[vba]
Код
If Sheets(i).Name <> Лист6.Name And Sheets(i).Name <> Лист1.Name And _
If Sheets(i).Name <> Лист7.Name And Sheets(i).Name <> Лист1.Name And _
If Sheets(i).Name <> Лист8.Name And Sheets(i).Name <> Лист1.Name And _
[/vba]
И тож не получалось (((((( т.е. сказать двигался я в правильном направлении но из-за не знания и не понимания в прописании кодов (((( я совершал ошибку. СПАСИБО ВСЕМ ОГРОМНОЕ....


Кто бы ты ни был, мир в твоих руках

Сообщение отредактировал lebensvoll - Вторник, 21.06.2016, 13:40
 
Ответить
СообщениеSLAVICK, да не нужно кричать то так (((( конечно же я смотрел и пост и даже пытался файл посмотреть и проанализировать но вот что получаю при разархивировании (((((
[img][/img]
Manyasha, СПАСИБО ВАМ ОГРОМНОЕ!!! Я был близок к решению ))))) я пытался сначала сделать как то так )))
[vba]
Код
If Sheets(i).Name <> Лист6.Name And Sheets(i).Name <> Лист1.Name And _
If Sheets(i).Name <> Лист7.Name And Sheets(i).Name <> Лист1.Name And _
If Sheets(i).Name <> Лист8.Name And Sheets(i).Name <> Лист1.Name And _
[/vba]
Но код потом ругался ((((((
Пытался сделать и так (((((
[vba]
Код
Case Лист4.Range("A5") 'Железнов
        'транспорт
        Лист7.Visible = xlSheetVisible
        'цены
        Лист6.Visible = xlSheetVisible
[/vba]
но прописывал листы продолжал так вот ))))
[vba]
Код
If Sheets(i).Name <> Лист6.Name And Sheets(i).Name <> Лист1.Name And _
If Sheets(i).Name <> Лист7.Name And Sheets(i).Name <> Лист1.Name And _
If Sheets(i).Name <> Лист8.Name And Sheets(i).Name <> Лист1.Name And _
[/vba]
И тож не получалось (((((( т.е. сказать двигался я в правильном направлении но из-за не знания и не понимания в прописании кодов (((( я совершал ошибку. СПАСИБО ВСЕМ ОГРОМНОЕ....

Автор - lebensvoll
Дата добавления - 21.06.2016 в 13:39
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Отобразить скрытые листы согласно пароля через макрос (Макросы/Sub)
Страница 1 из 212»
Поиск:

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