powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Про колонки - вопрос больше для интереса :-)
25 сообщений из 25, страница 1 из 1
Про колонки - вопрос больше для интереса :-)
    #37187541
Фотография natalitvinenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно было скрыть две колонки. Нужно- пишем:
Код: plaintext
1.
2.
Columns("O:O").EntireColumn.Hidden = True
Columns("P:P").EntireColumn.Hidden = True
Включаем - не работает. Нету ли объединённых ячеек, незаметно затесавшихся в скрываемую колонку? Нету. Пыталась добавить "фамилию" к колонке:
Код: plaintext
1.
Worksheets("Period").Columns("R:R").EntireColumn.Hidden = True
Не работает. Проверяла даже, не написала ли я вместо "O" латинского "О" русское… Ладно - пользуем магнитофон - макросописатель. Получаем текст вида:
Код: plaintext
1.
2.
3.
4.
Columns("O:O").Select
Selection.EntireColumn.Hidden = True
Columns("P:P").Select
Selection.EntireColumn.Hidden = True
Проверяем - работает! Но ведь раздражает эта многоэтажность… Для интереса пробую:
Код: plaintext
1.
2.
3.
Columns("O:O").Select
Selection.EntireColumn.Hidden = True
Columns("P:P").EntireColumn.Hidden = True
Опять работает!! Ничего не понимая, заменяю первые две строки одной, похожей на последнюю и получаю таки глюк. Правлю обратно.
Программа, в принципе, пашет, иду в разработке дальше. Но вот вопрос, больше из рязряда головоломок, чем для практической надости, остался: почему последний в этом посте кусок кода работает, а абсолютно ему аналогичный первый в этом посте - нет? Почему для работы однострочному варианту необходимо, чтобы перед ним отработал многоэтажный?
...
Рейтинг: 0 / 0
Про колонки - вопрос больше для интереса :-)
    #37187565
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
natalitvinenko, может в 1 надо добавить Range??
...
Рейтинг: 0 / 0
Про колонки - вопрос больше для интереса :-)
    #37187590
_slan_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Columns("O:O").Hidden = True

работает.

ваше тоже работает, но если уж используете columns (по дефолту относящееся к листу), то entire уже лишнее
...
Рейтинг: 0 / 0
Про колонки - вопрос больше для интереса :-)
    #37187594
_slan_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_slan_,

и почему бы не писать сразу:

Columns("O:P").EntireColumn.Hidden = false ?

сомневаетесь в английском алфавите?
...
Рейтинг: 0 / 0
Про колонки - вопрос больше для интереса :-)
    #37187600
Фотография natalitvinenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не совсем поняла, где? Вот такие варианты тоже не прошли:
Код: plaintext
1.
2.
Range("P:P").Columns.Hidden = True
Range("P:P").Columns( 1 ).Hidden = True
...
Рейтинг: 0 / 0
Про колонки - вопрос больше для интереса :-)
    #37188191
Фотография natalitvinenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_slan_Columns("O:O").Hidden = True

работает.


У меня- не работает. Наверное, всё- таки проблема в моём Экселе и персональных косяках данной машины- раз у всех всё работает :-(
...
Рейтинг: 0 / 0
Про колонки - вопрос больше для интереса :-)
    #37188202
Yudzhin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
natalitvinenko.
Все варианты работают. У меня Офис 2010.

Код: plaintext
1.
2.
3.
4.
5.
Columns("O:O").EntireColumn.Hidden = True
Columns("P:P").EntireColumn.Hidden = True

Columns("O:O").Hidden = True
Columns("P:P").Hidden = True
...
Рейтинг: 0 / 0
Про колонки - вопрос больше для интереса :-)
    #37188242
Yudzhin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
natalitvinenko.

Чисто технически, скрытый столбец/скрытая строка - это когда ширина столбца/высота строки равна 0. Основываясь на данном факте, можно написать:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Sub HideColumns()
    Columns("O:O").ColumnWidth =  0 
    Columns("P:P").ColumnWidth =  0 
End Sub

Sub UnhideColumns()
    Columns("O:O").Hidden = False
    Columns("P:P").Hidden = False
End Sub
...
Рейтинг: 0 / 0
Про колонки - вопрос больше для интереса :-)
    #37188252
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
natalitvinenko,

Вы пишите - не работает. не работает как? Может ошибку какую выдает? Не "Метод Select из класса Range завершен неверно"?
А код где расположен? Может в модуле листа? Притом явно листа не активного. Тогда надо перенести код в обычный модуль и запускать из него.
...
Рейтинг: 0 / 0
Про колонки - вопрос больше для интереса :-)
    #37188318
Yudzhin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
natalitvinenko,

Предлагаю зайти на комп и посмотреть своими глазами :)
...
Рейтинг: 0 / 0
Про колонки - вопрос больше для интереса :-)
    #37188432
f
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может, у вас вообще макросы не работают из-за антивируса?
...
Рейтинг: 0 / 0
Про колонки - вопрос больше для интереса :-)
    #37188458
Фотография natalitvinenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yudzhinnatalitvinenko.
Все варианты работают. У меня Офис 2010.


Я уже начинаю грешить на персональные косяки моей машины
...
Рейтинг: 0 / 0
Про колонки - вопрос больше для интереса :-)
    #37188482
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
natalitvinenko, простой тренинг вместо Hidden, потпробуйте что то другое, цвет например
Просто не известно, под текстом = Hidden Вы правильно понимаете
Не знаю как в Экселе, а в Ворде я лично всегда текст = Hidden, я всегда вижу, просто его отличие-подчёркивается мелкими и частыми точками
...
Рейтинг: 0 / 0
Про колонки - вопрос больше для интереса :-)
    #37188532
Фотография natalitvinenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_Pristnatalitvinenko,
Вы пишите - не работает. не работает как? Может ошибку какую выдает? Не "Метод Select из класса Range завершен неверно"?

Например, на попытку запустить строчку
Код: plaintext
Columns("O:O").Hidden = True
пишет:
"Нельзя установить свойство Hidden класса Range"
The_Pristnatalitvinenko,
А код где расположен? Может в модуле листа? Притом явно листа не активного. Тогда надо перенести код в обычный модуль и запускать из него.
На кнопочке висит - то есть в модуле листа, но активного- я на нём всякие безобразия и творю. Не получается его скопировать в модуль и потом связать с кнопкой, лежащей на листе.
...
Рейтинг: 0 / 0
Про колонки - вопрос больше для интереса :-)
    #37188552
Фотография natalitvinenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FМожет, у вас вообще макросы не работают из-за антивируса?
Да нет программа работает, мы с ней друг друга борем, но вот в этом месте она сработала парадоксальным образом. Любителя таких шуток Касперского на машине нет вообще :-)
...
Рейтинг: 0 / 0
Про колонки - вопрос больше для интереса :-)
    #37188727
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
natalitvinenkoНа кнопочке висит - то есть в модуле листа, но активного- я на нём всякие безобразия и творю. Не получается его скопировать в модуль и потом связать с кнопкой, лежащей на листе.Все получится. Переносите весь код(кроме строк первой(Sub) и последней(End Sub) в стандартный модуль. ну, естественно даете ему новое имя. Получится что-то типа:
Код: plaintext
1.
2.
3.
Sub Hide_Cols()
Columns("O:O").EntireColumn.Hidden = True
Columns("P:P").EntireColumn.Hidden = True
End Sub
А в модуле листа лишь вызываете этот макрос:
Код: plaintext
1.
2.
Sub CommandButton1_Click()
Call Hide_Cols
End Sub
и все у Вас заработает....
...
Рейтинг: 0 / 0
Про колонки - вопрос больше для интереса :-)
    #37189021
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
natalitvinenko,

У тебя Оффис русский?
...
Рейтинг: 0 / 0
Про колонки - вопрос больше для интереса :-)
    #37189602
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть подозрение, что у вас такая-же проблема с которой я встречался при работе в Excel 97, правда где-то начиная с Excel 2003 (а может и раньше 2000 или XP) проблема эта исчезла.
Суть проблемы была в том, что при запуске макроса через кнопку приходилось как и у вас в самом начале макроса предварительно выполнять select какой-либо ячейки и лишь потом производить дальнейшие операции с ячейками.
Как понимаете это были давние времена, тогда у меня сложилось впечатление, что при нажатии на кнопку на листе, сам лист почему-то переставал быть активным, активным была лишь кнопка.
После перехода

Для того чтобы убедиться, что у вам проблема аналогичная, вы можете в самом начале макроса обрабатывающего нажатие кнопки вставить код выделяющий к примеру ячейку A1, а дальше уже ваш обычный код.

Т.е. к примеру так:
Код: plaintext
1.
2.
Range("A1").Select
Columns("O:O").EntireColumn.Hidden = True
Columns("P:P").EntireColumn.Hidden = True
...
Рейтинг: 0 / 0
Про колонки - вопрос больше для интереса :-)
    #37189618
Yudzhin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
natalitvinenko,

Прикрепляю модуль. Чтобы он заработал, надо на названии проекта в VBE (по умолчанию название "VBAProject") нажать правую кнопку и выбрать "Import File", указать файл и нажать OK - и всё! Далее нажимаем на F5 в теле процедуры или на вкладке "Разработчик" c помощью кнопки "Макросы". И учти, что макрос выполняецо для активного листа, поэтому сначала активируй нужный тебе лист - и в путь! :)
...
Рейтинг: 0 / 0
Про колонки - вопрос больше для интереса :-)
    #37189682
Фотография natalitvinenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Djon PlayerДля того чтобы убедиться, что у вам проблема аналогичная, вы можете в самом начале макроса обрабатывающего нажатие кнопки вставить код выделяющий к примеру ячейку A1, а дальше уже ваш обычный код.


Дааа, оно!! Ну то есть я случайно наткнулась на археологической древности глюк :-)
Просто неизвестно, что может стоять у конкретного юзера- а там может обнаружится от Excel97, потому и пишу на старой версии.
...
Рейтинг: 0 / 0
Про колонки - вопрос больше для интереса :-)
    #37189696
Фотография natalitvinenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yudzhin,
Спасибо!
...
Рейтинг: 0 / 0
Про колонки - вопрос больше для интереса :-)
    #37189704
Фотография natalitvinenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подытоживая тему в целом, отмечу, что, скорее всего, у меня вылез глюк, о котором сказал Djon Player, и этот глюк забарывается указанным им методом. В принципе, загадку считаю разрешенной.
Огромное спасибо всем заинтересовавшимся, высказывамшимся и помогшим!
...
Рейтинг: 0 / 0
Про колонки - вопрос больше для интереса :-)
    #37189814
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
natalitvinenko,

Честно говоря я не ожидал, что вы работаете на такой древней программе.
Я сам на данный момент в основном работаю с Excel 2003, очень редко использую Excel 2007, а Excel 2010 даже в глаза не видел.
Я бы все таки рекомендовал перейти на Excel 2003, т.к. там много удобных фишек появилось упрощающих жизнь и совместимость более менее нормальная с предыдущими версиями.
Совсем другое дело Excel 2007, в нем тоже появилось много чего полезного, но совместимость с предыдущими версиями он потерял.
Это сплошная кладезь глюков. От него на работе только постоянная головная боль, периодически портятся отчеты, когда с ним работают люди в Excel 2003 и в Excel 2007 в режиме совместимости с Excel 2003. Через какое-то время рано или поздно выскакивает ошибка о том, что форматы потеряны. И связанна она с тем, что в Excel 2003 количество стилей ограничено цифрой 1000, а в Excel 2007 количество не ограниченно и зависит от оперативной памяти. Причем даже в режиме совместимости количество стилей так-же не ограниченно. В итоге когда кто-то открывает такой файл в Excel 2003 и в файле стилей больше 1000, то тому файлу наступают кранты. Так-же кранты могут наступить, если такой файл открыть в Excel 2007 но с малым объемом памяти.
По роду своей деятельности часто приходилось восстанавливать так сказать совместимость таких файлов путем удаления лишних стилей. Зачастую в таких файлах количество файлов перескакивало достигало несколько десятков тысяч стилей и вообще превышало количество заполненных ячеек. Это явно какой-то косяк у Майкрософт, количество стилей там растет в геометрической прогрессии, по моей теории на каждую введенную, измененную ячейку (к примеру изменено значение или форматирование) он создает новый стиль, что вообще не логично и не правильно.
...
Рейтинг: 0 / 0
Про колонки - вопрос больше для интереса :-)
    #37189876
Фотография natalitvinenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Djon Playernatalitvinenko,
Честно говоря я не ожидал, что вы работаете на такой древней программе.
Я сам на данный момент в основном работаю с Excel 2003, очень редко использую Excel 2007, а Excel 2010 даже в глаза не видел.
Я бы все таки рекомендовал перейти на Excel 2003, т.к. там много удобных фишек появилось упрощающих жизнь и совместимость более менее нормальная с предыдущими версиями.
Совсем другое дело Excel 2007, в нем тоже появилось много чего полезного, но совместимость с предыдущими версиями он потерял.

У меня на машине живёт целый зоопарк версий Офисов- от 97-го по 2007 :-) Лицензионного 2010 наша дорога не закупала, потому у меня его тоже нет. Чаще всего нужно подбирать в соответствии с пользователем программу Access- только вот в последнее время некоторые АРМы перевожу с 97 на 2003. Выбор версии - не в моей власти: у нас сейчас ставят только лицензионные программы, организация большая - поэтому можно столкнуться с чем угодно. Где- то у всех стоит 2003, где- то в углу стоит полулегальный 97(типа downgrade :-), в одном отделе на разных машинах может стоять разное.
C особенностями разных версий Экселя почти не сталкиваюсь - это вот впервой. Давно на VBA масштабных макросов не писала...
Никак не привыкну и не выучу новый интерфейс версии Офиса2007 - но оно и не очень нужно. Зачем парням из Микрософта было нужно уродовать устоявшийся интерфейс - не понимаю.
Стили не пользую :-) , но выражаю соболезнования в связи с забодавшими Вас косяками Excel 2007
...
Рейтинг: 0 / 0
Про колонки - вопрос больше для интереса :-)
    #37190294
Djon Player
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
natalitvinenko,

Всё понятно, у нас тоже всё лицензионное, но на 2003 мы перешли уже очень очень давно, уже и не помню, были ли при этом проблемы.
Только вот про этот косяк вспомнил, что он был, но потом исчез. У меня до сих пор во многих программах стоит этот код c выбором ячейки A1 с комментарием, что он нужен только, чтобы избежать ошибку в Excel 97.
Что касается стилей, то я их и не использую и пользователи не используют, дело в том, что их сам Excel 2007 в каких-то ситуациях генерирует в огромных количествах. С чем это связанно мне не понятно.
Изначально в чистом документе Excel 2003 6 стилей, в Excel 2007 их 47.
Когда я намеренно пытаюсь воспроизвести ситуацию с увеличением количества стилей, ничего не получается.
Подозреваю что такой косяк возникает именно когда с файлом работаю периодически в разных версиях Excel и с разных компьютеров, возможно ещё и при общем доступе.
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Про колонки - вопрос больше для интереса :-)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]