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

Вход

Регистрация

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

 

= Мир MS Excel/Скрытие столбцов по выбранному значению - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Скрытие столбцов по выбранному значению (Макросы/Sub)
Скрытие столбцов по выбранному значению
Oh_Nick Дата: Среда, 15.07.2020, 11:05 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 46
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Добрый день!

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

Лист Индия. Когда выбираем FOB Nhava Sheva , должны остаться столбцы Sea LCL, Sea 20*std, Sea 40*std . Остальные убраться. Когда FCA Mumbai, остаться только AIR, остальные убраться. Когда EXW Pune , остаться столбец EXPRESS , остальные убраться.
К сообщению приложен файл: 8751669.xlsx(41.6 Kb)
 
Ответить
СообщениеДобрый день!

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

Лист Индия. Когда выбираем FOB Nhava Sheva , должны остаться столбцы Sea LCL, Sea 20*std, Sea 40*std . Остальные убраться. Когда FCA Mumbai, остаться только AIR, остальные убраться. Когда EXW Pune , остаться столбец EXPRESS , остальные убраться.

Автор - Oh_Nick
Дата добавления - 15.07.2020 в 11:05
Oh_Nick Дата: Среда, 15.07.2020, 14:27 | Сообщение № 2
Группа: Пользователи
Ранг: Новичок
Сообщений: 46
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Попробовал этот код:

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Application.Intersect(Range("B26"), Target) Is Nothing Then
Application.EnableEvents = 0: Application.ScreenUpdating = False
If Target = "FOB Nhava Sheva,India" Then
Columns("D30:E37;J30:J37").EntireRow.Hidden = False
Else
Columns("D30:E37;J30:J37").EntireRow.Hidden = True
End If
If Target = "FCA Mumbai,India" Then Columns("F30:J37").EntireRow.Hidden = False
If Target = "EXW Pune,India" Then Columns("D30:I37").EntireRow.Hidden = False
Application.EnableEvents = -1: Application.ScreenUpdating = False
End If
End Sub
[/vba]

Но не выходит. Помогите, пожалуйста, разобраться
:unsure:
 
Ответить
СообщениеПопробовал этот код:

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Application.Intersect(Range("B26"), Target) Is Nothing Then
Application.EnableEvents = 0: Application.ScreenUpdating = False
If Target = "FOB Nhava Sheva,India" Then
Columns("D30:E37;J30:J37").EntireRow.Hidden = False
Else
Columns("D30:E37;J30:J37").EntireRow.Hidden = True
End If
If Target = "FCA Mumbai,India" Then Columns("F30:J37").EntireRow.Hidden = False
If Target = "EXW Pune,India" Then Columns("D30:I37").EntireRow.Hidden = False
Application.EnableEvents = -1: Application.ScreenUpdating = False
End If
End Sub
[/vba]

Но не выходит. Помогите, пожалуйста, разобраться
:unsure:

Автор - Oh_Nick
Дата добавления - 15.07.2020 в 14:27
Oh_Nick Дата: Среда, 15.07.2020, 15:32 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 46
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Ребята,

Эта тоже не получается:

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
Application.EnableEvents = False

Columns("B:J").EntireColumn.Hidden = False

Select Case Range("B26").Value
Case "FOB Nhava Sheva,India"
Range("D30:E37;J30:J37").Hidden = True
Case "FCA Mumbai, India"
Range("F30:J37").Hidden = True
Case "EXW Pune,India"
Range("D30:I37").Hidden = True
End Select

Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
[/vba]


Сообщение отредактировал Oh_Nick - Среда, 15.07.2020, 16:51
 
Ответить
СообщениеРебята,

Эта тоже не получается:

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
Application.EnableEvents = False

Columns("B:J").EntireColumn.Hidden = False

Select Case Range("B26").Value
Case "FOB Nhava Sheva,India"
Range("D30:E37;J30:J37").Hidden = True
Case "FCA Mumbai, India"
Range("F30:J37").Hidden = True
Case "EXW Pune,India"
Range("D30:I37").Hidden = True
End Select

Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
[/vba]

Автор - Oh_Nick
Дата добавления - 15.07.2020 в 15:32
Pelena Дата: Среда, 15.07.2020, 16:46 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16256
Репутация: 3520 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
Oh_Nick, оформите код тегами с помощью кнопки # в режиме правки поста


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеOh_Nick, оформите код тегами с помощью кнопки # в режиме правки поста

Автор - Pelena
Дата добавления - 15.07.2020 в 16:46
Oh_Nick Дата: Среда, 15.07.2020, 16:51 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 46
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Oh_Nick, оформите код тегами с помощью кнопки # в режиме правки поста


Сделано.
 
Ответить
Сообщение
Oh_Nick, оформите код тегами с помощью кнопки # в режиме правки поста


Сделано.

Автор - Oh_Nick
Дата добавления - 15.07.2020 в 16:51
Pelena Дата: Среда, 15.07.2020, 17:04 | Сообщение № 6
Группа: Админы
Ранг: Местный житель
Сообщений: 16256
Репутация: 3520 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
Так можно
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Range("B26"), Target) Is Nothing Then
        Application.ScreenUpdating = False
        Application.EnableEvents = False

        Columns("B:J").EntireColumn.Hidden = False

        Select Case Range("B26").Value
        Case "FOB Nhava Sheva,India"
            Range("D:E,J:J").EntireColumn.Hidden = True
        Case "FCA Mumbai, India"
            Columns("F:J").Hidden = True
        Case "EXW Pune,India"
            Columns("D:I").Hidden = True
        End Select

        Application.EnableEvents = True
        Application.ScreenUpdating = True
    End If
End Sub
[/vba]
К сообщению приложен файл: 8751669.xlsm(47.9 Kb)


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеТак можно
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Application.Intersect(Range("B26"), Target) Is Nothing Then
        Application.ScreenUpdating = False
        Application.EnableEvents = False

        Columns("B:J").EntireColumn.Hidden = False

        Select Case Range("B26").Value
        Case "FOB Nhava Sheva,India"
            Range("D:E,J:J").EntireColumn.Hidden = True
        Case "FCA Mumbai, India"
            Columns("F:J").Hidden = True
        Case "EXW Pune,India"
            Columns("D:I").Hidden = True
        End Select

        Application.EnableEvents = True
        Application.ScreenUpdating = True
    End If
End Sub
[/vba]

Автор - Pelena
Дата добавления - 15.07.2020 в 17:04
Oh_Nick Дата: Четверг, 16.07.2020, 07:52 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 46
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Спасибо! Но нужно, чтобы не скрывались вверху столбцы "Кол-во штук" , "Расчетный вес" , ''Загруженность".

Так возможно?


Сообщение отредактировал Oh_Nick - Четверг, 16.07.2020, 08:44
 
Ответить
СообщениеСпасибо! Но нужно, чтобы не скрывались вверху столбцы "Кол-во штук" , "Расчетный вес" , ''Загруженность".

Так возможно?

Автор - Oh_Nick
Дата добавления - 16.07.2020 в 07:52
Pelena Дата: Четверг, 16.07.2020, 09:01 | Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 16256
Репутация: 3520 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
Столбец можно скрыть только целиком. Располагайте таблицы-по-другому


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеСтолбец можно скрыть только целиком. Располагайте таблицы-по-другому

Автор - Pelena
Дата добавления - 16.07.2020 в 09:01
Oh_Nick Дата: Четверг, 16.07.2020, 09:12 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 46
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
А нельзя именно ячейки скрыть?
 
Ответить
СообщениеА нельзя именно ячейки скрыть?

Автор - Oh_Nick
Дата добавления - 16.07.2020 в 09:12
Pelena Дата: Четверг, 16.07.2020, 09:15 | Сообщение № 10
Группа: Админы
Ранг: Местный житель
Сообщений: 16256
Репутация: 3520 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
Нет.
Можно, конечно, расположить полную таблицу где-то на доп. листе, а при выборе просто копировать нужные столбцы


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеНет.
Можно, конечно, расположить полную таблицу где-то на доп. листе, а при выборе просто копировать нужные столбцы

Автор - Pelena
Дата добавления - 16.07.2020 в 09:15
Oh_Nick Дата: Четверг, 16.07.2020, 09:22 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 46
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Можете пример направить, пожалуйста?
 
Ответить
СообщениеМожете пример направить, пожалуйста?

Автор - Oh_Nick
Дата добавления - 16.07.2020 в 09:22
Pelena Дата: Четверг, 16.07.2020, 09:58 | Сообщение № 12
Группа: Админы
Ранг: Местный житель
Сообщений: 16256
Репутация: 3520 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
Пример
К сообщению приложен файл: 3966207.xlsm(50.2 Kb)


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеПример

Автор - Pelena
Дата добавления - 16.07.2020 в 09:58
Oh_Nick Дата: Четверг, 16.07.2020, 10:14 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 46
Репутация: 0 ±
Замечаний: 0% ±

Excel 2019
Круто, все получилось! Спасибо огромное!
 
Ответить
СообщениеКруто, все получилось! Спасибо огромное!

Автор - Oh_Nick
Дата добавления - 16.07.2020 в 10:14
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Скрытие столбцов по выбранному значению (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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