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

Вход

Регистрация

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

 

= Мир MS Excel/Таблица и скрытые столбцы - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Таблица и скрытые столбцы
Жиличев Анатолий Дата: Четверг, 03.10.2013, 06:51 | Сообщение № 1
Группа: Гости
Коллеги!
Столкнулся с необходимостью построить таблицу, с определенными условиями=возможность скрывать столбцы в зависимости от вводных данных.
Суть проблемы попытался отразить во вложении.
Попытка использовать найденный мной на форуме МАКРОС в виду моей некомпетентности к успеху не привела.

СПАСИБО.

Вот что нашел...

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) <> "C2" Then Exit Sub
Dim r As Range: Set r = Range("C3:H3")
Application.ScreenUpdating = False
r.EntireColumn.Hidden = True
Range(r.Cells(1), r.Cells(Target)).EntireColumn.Hidden = False
Application.ScreenUpdating = True
End Sub
[/vba]
 
Ответить
СообщениеКоллеги!
Столкнулся с необходимостью построить таблицу, с определенными условиями=возможность скрывать столбцы в зависимости от вводных данных.
Суть проблемы попытался отразить во вложении.
Попытка использовать найденный мной на форуме МАКРОС в виду моей некомпетентности к успеху не привела.

СПАСИБО.

Вот что нашел...

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) <> "C2" Then Exit Sub
Dim r As Range: Set r = Range("C3:H3")
Application.ScreenUpdating = False
r.EntireColumn.Hidden = True
Range(r.Cells(1), r.Cells(Target)).EntireColumn.Hidden = False
Application.ScreenUpdating = True
End Sub
[/vba]

Автор - Жиличев Анатолий
Дата добавления - 03.10.2013 в 06:51
AnatolyZhilichev Дата: Четверг, 03.10.2013, 07:52 | Сообщение № 2
Группа: Пользователи
Ранг: Новичок
Сообщений: 40
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Приложение
К сообщению приложен файл: pflfxf.xls (42.5 Kb)
 
Ответить
СообщениеПриложение

Автор - AnatolyZhilichev
Дата добавления - 03.10.2013 в 07:52
AnatolyZhilichev Дата: Четверг, 03.10.2013, 15:16 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 40
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Коллеги!
Прошу повторно обратить внимание на данную проблему....у мен :'( я не получается, а в макросе не могу разобраться :'(
 
Ответить
СообщениеКоллеги!
Прошу повторно обратить внимание на данную проблему....у мен :'( я не получается, а в макросе не могу разобраться :'(

Автор - AnatolyZhilichev
Дата добавления - 03.10.2013 в 15:16
Wasilich Дата: Четверг, 03.10.2013, 19:47 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
Цитата (Жиличев Анатолий, 03.10.2013 в 06:51, в сообщении № 1)
возможность скрывать столбцы в зависимости от вводных данных

Коллега, не из поста, не из примера не понятно чего Вы хотите. Опишите задачу конкретно. Каких данных, куда ВВОДНЫХ, что в итоге должно произойти.
А в примере: - вот так есть - вот это вводим - вот эти столбцы должны скрыться.
Ибо, телепатов на форуме пока не встречал.
 
Ответить
Сообщение
Цитата (Жиличев Анатолий, 03.10.2013 в 06:51, в сообщении № 1)
возможность скрывать столбцы в зависимости от вводных данных

Коллега, не из поста, не из примера не понятно чего Вы хотите. Опишите задачу конкретно. Каких данных, куда ВВОДНЫХ, что в итоге должно произойти.
А в примере: - вот так есть - вот это вводим - вот эти столбцы должны скрыться.
Ибо, телепатов на форуме пока не встречал.

Автор - Wasilich
Дата добавления - 03.10.2013 в 19:47
AnatolyZhilichev Дата: Воскресенье, 06.10.2013, 13:58 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 40
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Прошу прощения, поправил свой вопрос...Все расписал во вложении...
Коллеги, ну уж очень нужно....
К сообщению приложен файл: 9750888.xls (46.0 Kb)
 
Ответить
СообщениеПрошу прощения, поправил свой вопрос...Все расписал во вложении...
Коллеги, ну уж очень нужно....

Автор - AnatolyZhilichev
Дата добавления - 06.10.2013 в 13:58
AnatolyZhilichev Дата: Воскресенье, 06.10.2013, 14:01 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 40
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Но прошу учесть, что
соответственно равно:(B-M строка 7)
6 столбикам(10мин),
4м столбикам(15мин),
2м столбикам(30мин)

Это я подразумеваю деление ОДНОГО ЧАСА...А если рассматривать весь ремонт в целом, то * на кол-во часов ремонта соответственно
 
Ответить
СообщениеНо прошу учесть, что
соответственно равно:(B-M строка 7)
6 столбикам(10мин),
4м столбикам(15мин),
2м столбикам(30мин)

Это я подразумеваю деление ОДНОГО ЧАСА...А если рассматривать весь ремонт в целом, то * на кол-во часов ремонта соответственно

Автор - AnatolyZhilichev
Дата добавления - 06.10.2013 в 14:01
AnatolyZhilichev Дата: Воскресенье, 06.10.2013, 15:37 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 40
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Попробовал сам: но ничего не получилось :(

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Application.Intersect(Range("A2"), Target) Is Nothing Then
Application.EnableEvents = 0: Application.ScreenUpdating = False
If Target = "all" Then
Columns("B:G").EntireColumn.Hidden = False
Else
Columns("B:G").EntireColumn.Hidden = True
End If
If Target = "15" Then Columns("B:E").EntireColumn.Hidden = False
If Target = "30" Then Columns("F:G").EntireColumn.Hidden = False
Application.EnableEvents = -1: Application.ScreenUpdating = False
End If
End Sub
[/vba]
[moder]Оформляйте коды тегами (кнопка #)[/moder]
К сообщению приложен файл: -1.xls (38.0 Kb)
 
Ответить
СообщениеПопробовал сам: но ничего не получилось :(

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Application.Intersect(Range("A2"), Target) Is Nothing Then
Application.EnableEvents = 0: Application.ScreenUpdating = False
If Target = "all" Then
Columns("B:G").EntireColumn.Hidden = False
Else
Columns("B:G").EntireColumn.Hidden = True
End If
If Target = "15" Then Columns("B:E").EntireColumn.Hidden = False
If Target = "30" Then Columns("F:G").EntireColumn.Hidden = False
Application.EnableEvents = -1: Application.ScreenUpdating = False
End If
End Sub
[/vba]
[moder]Оформляйте коды тегами (кнопка #)[/moder]

Автор - AnatolyZhilichev
Дата добавления - 06.10.2013 в 15:37
SkyPro Дата: Воскресенье, 06.10.2013, 18:33 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010


skypro1111@gmail.com
 
Ответить
СообщениеСмотрели эту тему? http://www.excelworld.ru/forum/10-6525-63572-16-1380816240

Автор - SkyPro
Дата добавления - 06.10.2013 в 18:33
AnatolyZhilichev Дата: Понедельник, 07.10.2013, 18:20 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 40
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Сегодня пытался с помощью макроса http://www.excelworld.ru/forum/10-6525-63572-16-1380816240 решить сою задачу..
Решил с точностью на 50%, так как в макросе (http://www.excelworld.ru/forum/10-6525-63572-16-1380816240) задача с одним условием.., а у меня их 2-а...
 
Ответить
СообщениеСегодня пытался с помощью макроса http://www.excelworld.ru/forum/10-6525-63572-16-1380816240 решить сою задачу..
Решил с точностью на 50%, так как в макросе (http://www.excelworld.ru/forum/10-6525-63572-16-1380816240) задача с одним условием.., а у меня их 2-а...

Автор - AnatolyZhilichev
Дата добавления - 07.10.2013 в 18:20
SkyPro Дата: Понедельник, 07.10.2013, 18:46 | Сообщение № 10
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
AnatolyZhilichev, несколько раз перечитал ваши посты и условия, изложенные в файле. И ничего не понял.
Какие столбцы и по каким условиям скрывать?
Вы могли бы расписать примерно так:
Если в ячейке А1 введено 10 и в ячейке В2 введено 20, то скрываем столбцы с 10 по 20 ?


skypro1111@gmail.com
 
Ответить
СообщениеAnatolyZhilichev, несколько раз перечитал ваши посты и условия, изложенные в файле. И ничего не понял.
Какие столбцы и по каким условиям скрывать?
Вы могли бы расписать примерно так:
Если в ячейке А1 введено 10 и в ячейке В2 введено 20, то скрываем столбцы с 10 по 20 ?

Автор - SkyPro
Дата добавления - 07.10.2013 в 18:46
AnatolyZhilichev Дата: Понедельник, 07.10.2013, 18:53 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 40
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
забыл приложить результат, исправляюсь
К сообщению приложен файл: -1-1.xls (43.5 Kb)
 
Ответить
Сообщениезабыл приложить результат, исправляюсь

Автор - AnatolyZhilichev
Дата добавления - 07.10.2013 в 18:53
AnatolyZhilichev Дата: Понедельник, 07.10.2013, 19:08 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 40
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
На первом листе приложения ещё разок попытался, но уже конкретно расписать то, что требуется
К сообщению приложен файл: 4097000.xls (38.5 Kb)
 
Ответить
СообщениеНа первом листе приложения ещё разок попытался, но уже конкретно расписать то, что требуется

Автор - AnatolyZhilichev
Дата добавления - 07.10.2013 в 19:08
nilem Дата: Понедельник, 07.10.2013, 21:24 | Сообщение № 13
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Вот так попробуйте
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Intersect(Target, Range("A1:A2")) Is Nothing Then Exit Sub
Application.ScreenUpdating = False
Dim i As Long, j As Long, k As Long
Columns("B:S").Hidden = True
Columns(2).Resize(, Range("A1").Value * 6).Hidden = False
With Range("A2")
     If .Value <> "all" Then
         i = IIf(.Value = 15, 6, 2): k = .Value * 2 / 15
         For j = 1 To Range("A1").Value
             Columns(i).Resize(, k).Hidden = True
             i = i + 6
         Next j
     End If
End With
Application.ScreenUpdating = True
End Sub
[/vba]
К сообщению приложен файл: Copy_4097000-1.xls (34.5 Kb)


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеВот так попробуйте
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Intersect(Target, Range("A1:A2")) Is Nothing Then Exit Sub
Application.ScreenUpdating = False
Dim i As Long, j As Long, k As Long
Columns("B:S").Hidden = True
Columns(2).Resize(, Range("A1").Value * 6).Hidden = False
With Range("A2")
     If .Value <> "all" Then
         i = IIf(.Value = 15, 6, 2): k = .Value * 2 / 15
         For j = 1 To Range("A1").Value
             Columns(i).Resize(, k).Hidden = True
             i = i + 6
         Next j
     End If
End With
Application.ScreenUpdating = True
End Sub
[/vba]

Автор - nilem
Дата добавления - 07.10.2013 в 21:24
AnatolyZhilichev Дата: Вторник, 08.10.2013, 05:31 | Сообщение № 14
Группа: Пользователи
Ранг: Новичок
Сообщений: 40
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Круто!!!!!!!!!!!, то, что надо...
Теперь сам попытаюсь до 10-ти часов добить и задачка полностью решена!!!!!

nilem,
СПАСИБО ОГРОМНОЕ
 
Ответить
СообщениеКруто!!!!!!!!!!!, то, что надо...
Теперь сам попытаюсь до 10-ти часов добить и задачка полностью решена!!!!!

nilem,
СПАСИБО ОГРОМНОЕ

Автор - AnatolyZhilichev
Дата добавления - 08.10.2013 в 05:31
AnatolyZhilichev Дата: Вторник, 08.10.2013, 08:44 | Сообщение № 15
Группа: Пользователи
Ранг: Новичок
Сообщений: 40
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Коллеги, начал редактировать на свое усмотрение, добавил столбцов, и уже голову сломал, не могу догнать, объясните пожвлуйста

Columns(2).Resize(, Range("A1").Value * 6).Hidden = False - а можно пояснить, что такое Range("A1").Value * 6
If .Value <> "all" Then
i = IIf(.Value = 15, 6, 2): k = .Value * 2 / 15 - поясните пожалуйста .Value = 15, 6, 2): k = .Value * 2 / 15
For j = 1 To Range("A1").Value
Columns(i).Resize(, k).Hidden = True - ну и это мне непонятно
i = i + 6
 
Ответить
СообщениеКоллеги, начал редактировать на свое усмотрение, добавил столбцов, и уже голову сломал, не могу догнать, объясните пожвлуйста

Columns(2).Resize(, Range("A1").Value * 6).Hidden = False - а можно пояснить, что такое Range("A1").Value * 6
If .Value <> "all" Then
i = IIf(.Value = 15, 6, 2): k = .Value * 2 / 15 - поясните пожалуйста .Value = 15, 6, 2): k = .Value * 2 / 15
For j = 1 To Range("A1").Value
Columns(i).Resize(, k).Hidden = True - ну и это мне непонятно
i = i + 6

Автор - AnatolyZhilichev
Дата добавления - 08.10.2013 в 08:44
nilem Дата: Вторник, 08.10.2013, 10:18 | Сообщение № 16
Группа: Авторы
Ранг: Старожил
Сообщений: 1613
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
Изменить нужно только эту строку
[vba]
Код
Columns("B:S").Hidden = True' это для 3 часов
[/vba]
например, для 12-ти часов будет
[vba]
Код
Columns("B:BU").Hidden = True
[/vba]
и скорректировать список в А1

Если не получится, давайте свой файл с нужным кол-вом часов


Яндекс.Деньги 4100159601573

Сообщение отредактировал nilem - Вторник, 08.10.2013, 10:20
 
Ответить
СообщениеИзменить нужно только эту строку
[vba]
Код
Columns("B:S").Hidden = True' это для 3 часов
[/vba]
например, для 12-ти часов будет
[vba]
Код
Columns("B:BU").Hidden = True
[/vba]
и скорректировать список в А1

Если не получится, давайте свой файл с нужным кол-вом часов

Автор - nilem
Дата добавления - 08.10.2013 в 10:18
AnatolyZhilichev Дата: Вторник, 08.10.2013, 10:20 | Сообщение № 17
Группа: Пользователи
Ранг: Новичок
Сообщений: 40
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо!..разобрался
 
Ответить
СообщениеСпасибо!..разобрался

Автор - AnatolyZhilichev
Дата добавления - 08.10.2013 в 10:20
  • Страница 1 из 1
  • 1
Поиск:

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