Всем доброго дня. Существует некий шаблон ценника. Подскажите пожалуйста как создать при помощи VBA условие при котором если значение ячейки с именем art =0, то xlSheetHidden. Теоретически понимаю, что это возможно, но не могу решить эту задачу. Заранее спасибо
Всем доброго дня. Существует некий шаблон ценника. Подскажите пожалуйста как создать при помощи VBA условие при котором если значение ячейки с именем art =0, то xlSheetHidden. Теоретически понимаю, что это возможно, но не могу решить эту задачу. Заранее спасибоhunter75
_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
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] Имена, само собой, должны быть области листов
Приблизительно как-то так [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_