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

Вход

Регистрация

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

 

= Мир MS Excel/Условие на скрытие страницы в VBA - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Условие на скрытие страницы в VBA
hunter75 Дата: Вторник, 10.01.2023, 13:50 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Всем доброго дня. Существует некий шаблон ценника. Подскажите пожалуйста как создать при помощи VBA условие при котором если значение ячейки с именем art =0, то xlSheetHidden. Теоретически понимаю, что это возможно, но не могу решить эту задачу. Заранее спасибо
К сообщению приложен файл: price1.xltm (30.5 Kb)
 
Ответить
СообщениеВсем доброго дня. Существует некий шаблон ценника. Подскажите пожалуйста как создать при помощи VBA условие при котором если значение ячейки с именем art =0, то xlSheetHidden. Теоретически понимаю, что это возможно, но не могу решить эту задачу. Заранее спасибо

Автор - hunter75
Дата добавления - 10.01.2023 в 13:50
китин Дата: Вторник, 10.01.2023, 13:58 | Сообщение № 2
Группа: Модераторы
Ранг: Экселист
Сообщений: 7029
Репутация: 1078 ±
Замечаний: 0% ±

Excel 2007;2010;2016
И вам доброго. У вас в файле всего один лист. его скрыть невозможно. В книге д.б. хотя бы один видимый лист


Не судите очень строго:я пытаюсь научиться
ЯД 41001877306852
 
Ответить
СообщениеИ вам доброго. У вас в файле всего один лист. его скрыть невозможно. В книге д.б. хотя бы один видимый лист

Автор - китин
Дата добавления - 10.01.2023 в 13:58
_Boroda_ Дата: Вторник, 10.01.2023, 14:02 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация: 6505 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Файл с макросами скачать не могу, но если просто код, то вот так
[vba]
Код
Sheets("Лист2").Visible = Range("art").Value <> 0
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеФайл с макросами скачать не могу, но если просто код, то вот так
[vba]
Код
Sheets("Лист2").Visible = Range("art").Value <> 0
[/vba]

Автор - _Boroda_
Дата добавления - 10.01.2023 в 14:02
hunter75 Дата: Вторник, 10.01.2023, 15:23 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

_Boroda_, месяц как занялся Excel. В общем после RefreshAll я ввожу условие, но нечего не происходит. В общем в файле будет простая подстановка данных из другой книги. Если Value в art = 0, то она должна скрываться (в книге будет до 40 листов и надо, чтобы открывались только листы для вывода на печать)

[vba]
Код
Private Sub Workbook_AfterXmlImport(ByVal Map As XmlMap, ByVal IsRefresh As Boolean, ByVal Result As XlXmlImportResult)
Sheets("Лист1").Visible = Range("art").Value <> 0
Sheets("Лист2").Visible = Range("art").Value <> 0
End Sub
[/vba]
 
Ответить
Сообщение_Boroda_, месяц как занялся Excel. В общем после RefreshAll я ввожу условие, но нечего не происходит. В общем в файле будет простая подстановка данных из другой книги. Если Value в art = 0, то она должна скрываться (в книге будет до 40 листов и надо, чтобы открывались только листы для вывода на печать)

[vba]
Код
Private Sub Workbook_AfterXmlImport(ByVal Map As XmlMap, ByVal IsRefresh As Boolean, ByVal Result As XlXmlImportResult)
Sheets("Лист1").Visible = Range("art").Value <> 0
Sheets("Лист2").Visible = Range("art").Value <> 0
End Sub
[/vba]

Автор - hunter75
Дата добавления - 10.01.2023 в 15:23
_Boroda_ Дата: Вторник, 10.01.2023, 15:53 | Сообщение № 5
Группа: Админы
Ранг: Местный житель
Сообщений: 16718
Репутация: 6505 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Приблизительно как-то так
[vba]
Код
Private Sub Workbook_AfterXmlExport(ByVal Map As XmlMap, ByVal Url As String, ByVal Result As XlXmlExportResult)
    Dim ws As Worksheet
    Application.ScreenUpdating = 0
    With Me
        For Each ws In .Worksheets
            ws.Visible = xlSheetVisible
        Next ws
        On Error Resume Next
        For Each ws In .Worksheets
            With ws
                .Visible = .Range("art").Value <> 0
            End With
        Next ws
        On Error GoTo 0
    End With
    Application.ScreenUpdating = 0
End Sub
[/vba]
Имена, само собой, должны быть области листов


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеПриблизительно как-то так
[vba]
Код
Private Sub Workbook_AfterXmlExport(ByVal Map As XmlMap, ByVal Url As String, ByVal Result As XlXmlExportResult)
    Dim ws As Worksheet
    Application.ScreenUpdating = 0
    With Me
        For Each ws In .Worksheets
            ws.Visible = xlSheetVisible
        Next ws
        On Error Resume Next
        For Each ws In .Worksheets
            With ws
                .Visible = .Range("art").Value <> 0
            End With
        Next ws
        On Error GoTo 0
    End With
    Application.ScreenUpdating = 0
End Sub
[/vba]
Имена, само собой, должны быть области листов

Автор - _Boroda_
Дата добавления - 10.01.2023 в 15:53
hunter75 Дата: Вторник, 10.01.2023, 15:54 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

_Boroda_, спасибо большое
 
Ответить
Сообщение_Boroda_, спасибо большое

Автор - hunter75
Дата добавления - 10.01.2023 в 15:54
  • Страница 1 из 1
  • 1
Поиск:

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