С Новым годом! Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/65: Рейтинг темы: голосов - 65, средняя оценка - 4.52
1 / 0 / 0
Регистрация: 17.01.2017
Сообщений: 216
1

Скрыть столбцы по условию

17.01.2017, 18:42. Показов 11881. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Уважаемые знатоки, подскажите пожалуйста.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Sub Hide()
    Dim cell As Range
    Application.ScreenUpdating = False
    For Each cell In ActiveSheet.UsedRange.Rows(1).Cells
        If cell.Value = "7" Then cell.EntireColumn.Hidden = 1 ' мне нужно, чтобы если текущая ячейка в столбце равна 7, то скрывался следующий столбец, а не текущий
Else
cell.EntireColumn.Hidden = 0
End If
    Next
    Application.ScreenUpdating = True
End Sub
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.01.2017, 18:42
Ответы с готовыми решениями:

Скрыть пустые столбцы
Имеется таблица с товарами и ценами поставщиков.С пустыми и не пустыми ячейками. Если при выборе...

Скрыть строки по условию
Добрый вечер! Возникла такая проблема, необходимо часто скрывать строки в файле, в зависимости...

Скрыть строки по условию
Здравствуйте господа-товарищи! у меня стоит следующая задача: имеется файл эксель с N...

Скрыть/раскрытие строки по условию
Добрый день, уважаемые форумчане. Прошу помочь со следующей задачей. Необходимо написать...

6
4135 / 2239 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
17.01.2017, 18:51 2
Visual Basic
1
cell(1, 2).EntireColumn.Hidden = True
или

Visual Basic
1
cell.EntireColumn(2).Hidden = True
0
1 / 0 / 0
Регистрация: 17.01.2017
Сообщений: 216
17.01.2017, 22:33  [ТС] 3
Совсем не тот результат получается

Добавлено через 38 минут
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Sub Hide()
 
    Dim cell As Range
    Application.ScreenUpdating = False
    For Each cell In ActiveSheet.UsedRange.Rows(14).Cells
    
If cell.Value = "7" Then
If cell.Hidden Then
'Если ячейка равна 7 и столбец скрыт, то показать его, если не скрыт - то скрыть его'
cell.EntireColumn.Hidden = False
 Else
 cell.EntireColumn.Hidden = True
 
End If
    Next
    Application.ScreenUpdating = True
End Sub
В чём ошибка?

Добавлено через 6 минут
Разобрался
0
4135 / 2239 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
17.01.2017, 22:41 4
Лучший ответ Сообщение было отмечено Ser8191 как решение

Решение

Не будем эгоистами и поделимся одним из вариантов решения :

Visual Basic
1
2
3
4
5
6
7
8
9
10
Private Sub Test()
    Application.ScreenUpdating = False
    Dim iCell As Range
    For Each iCell In ActiveSheet.UsedRange.Rows(14).Cells
        If iCell.Value = "7" Then
           iCell.Columns.Hidden = Not iCell.Columns.Hidden
        End If
    Next
    Application.ScreenUpdating = True
End Sub
1
1 / 0 / 0
Регистрация: 17.01.2017
Сообщений: 216
18.01.2017, 11:29  [ТС] 5
Спасибо
0
0 / 0 / 0
Регистрация: 17.01.2019
Сообщений: 33
21.11.2019, 14:40 6
Подскажите,а как спрятать столбцы по индексу?
0
4135 / 2239 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
21.11.2019, 14:49 7
Krak84,

Visual Basic
1
Union(Columns(1), Columns(3), Columns(7)).Columns.Hidden = True
Visual Basic
1
Union(Columns(1), Columns(3), Columns(7)).EntireColumn.Hidden = True
Можно ещё и так :

Visual Basic
1
2
3
For Each cl In Array(1, 3, 7)
    Columns(cl).Hidden = True
Next
1
21.11.2019, 14:49
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.11.2019, 14:49
Помогаю со студенческими работами здесь

Скрыть часть строк по условию?
КАк можно сделать невидимыми строки, которые содержат в одной из своих ячеек определенное значение?

Сформировать таблицу и перенести в нее столбцы, согласно условию
Дана таблица. Необходимо на ее основе сформировать на отдельном рабочем листе таблицу и перенести в...

Сцепить строки и и столбцы по условию что строка имеет значение
Добрый день!!! Просьба не ругать если такая тема уже есть, так как перерыл уже весь инет, а...

Скрыть столбцы в DataGrid
FillGrid(Grid, "Select Col1,Col2, Col1+Col2 as Col3 from Table")...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Администрирован­­­ие Git, продвинутые техники работы с Git
InfoMaster 11.01.2025
Основы управления репозиторием Эффективное управление Git-репозиторием требует глубокого понимания механизмов контроля доступа и инструментов администрирования. Рассмотрим ключевые аспекты. . .
Что такое HCL Notes и как с ним работать
InfoMaster 10.01.2025
HCL Notes (ранее известный как IBM Notes и Lotus Notes) представляет собой комплексную платформу для совместной работы и обмена информацией в корпоративной среде. Это многофункциональное решение,. . .
Как работать с Git из Windows и Visual Studio
InfoMaster 10.01.2025
Работа с Git в Windows Работа с Git в операционной системе Windows может быть осуществлена с помощью различных инструментов, каждый из которых обладает своими уникальными возможностями и. . .
Аналог оператора switch case в Python
InfoMaster 10.01.2025
Оператор switch case используется в программировании для выбора одного из нескольких вариантов исполнения кода. Однако в языке Python этот оператор отсутствует. Понимание аналогов switch case в. . .
Отличия абстрактного класса от интерфейса
InfoMaster 10.01.2025
В современной разработке программного обеспечения существуют два основных механизма реализации абстракции: абстрактные классы и интерфейсы. Эти инструменты, хотя и схожи в своей основной цели -. . .
Как работать в Git
InfoMaster 10.01.2025
Git — это одна из наиболее популярных систем контроля версий, которая активно используется разработчиками по всему миру. Она позволяет эффективно управлять изменениями в коде, координировать работу. . .
Реализация передвижения персонажа в Unity3d на C#
InfoMaster 10.01.2025
Реализация передвижения персонажа в Unity3D начинается с правильной настройки проекта. Этот этап критически важен для создания отзывчивого и плавного управления. Рассмотрим основные шаги для создания. . .
Docker: руководство для начинающих
InfoMaster 10.01.2025
В современном мире разработки программного обеспечения контейнеризация стала неотъемлемой частью процесса создания и развертывания приложений. Docker, как ведущая платформа контейнеризации, произвела. . .
Книги и учебные ресурсы по C#
InfoMaster 08.01.2025
Базовые учебники и руководства Одной из лучших книг для начинающих является "C# 10 и . NET 6 для начинающих" Эндрю Троелсена и Филиппа Джепикса . Книга последовательно раскрывает основные концепции. . .
Что такое NullReferenceEx­­­ception и как исправить?
InfoMaster 08.01.2025
NullReferenceException - одно из самых распространенных исключений, с которым сталкиваются разработчики на C#. Это исключение возникает при попытке обратиться к членам объекта (методам, свойствам или. . .
Что такое Null Pointer Exception (NPE) и как это исправить?
InfoMaster 08.01.2025
Null Pointer Exception (NPE) - это одно из самых распространенных исключений в Java, которое возникает при попытке использовать ссылку на объект, значение которой равно null. Это исключение относится. . .
Русский язык в консоли C++
InfoMaster 08.01.2025
При разработке программ на C++ одной из частых проблем, с которой сталкиваются русскоязычные программисты, является корректное отображение кириллицы в консольных приложениях. Эта проблема особенно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru