Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Некорректно создаются правила условного форматирования при использовании VBA
 
ZVI, я примерно так и думал, просто поленился номер версии написать, у меня, правда, 64-разрядная, но сути это не меняет. В любом случае тема себя исчерпала.

Всем спасибо.
Некорректно создаются правила условного форматирования при использовании VBA
 
Ігор Гончаренко, прочитайте внимательно первые два сообщения темы. В первом сообщении (#1) я объясняю суть проблемы и прикрепляю файл с именем "Условное форматирование", демонстрирующий эту самую проблему. Во втором сообщении (#2) я предлагаю решение и прикрепляю файл с именем "Условное форматирование (решение)". Что делаете Вы. А Вы берете второй файл "Условное форматирование (решение)" (это тот, в котором проблема уже решена, название как бы намекает) и просто меняете в нем стиль ссылок на R1C1.
Так что я с удовольствием навешу Ваш макрос на кнопку, как только вы наконец предложите мне именно Ваш макрос, а не мой собственный.
Прежде чем писать следующее сообщение, не поленитесь и скачайте файл из сообщения #2 и посмотрите внимательно код, а то я уже начну думать что Вы - тролль.

А в сообщении #12 я вообще отвечаю другому пользователю (ZVI), по его коду, который он предлагает в качестве решения.
Некорректно создаются правила условного форматирования при использовании VBA
 
Ігор Гончаренко, я Вас не понимаю. Вы приводите мне моё же решение и спрашиваете работает ли оно? Отвечаю - да, работает, именно поэтому я его и предложил. Вы же только стиль ссылок поменяли на R1C1, а суть решения оставили ту же, с урезанием диапазона.
Некорректно создаются правила условного форматирования при использовании VBA
 
Цитата
ZVI написал: У Вас, очевидно, стоит стиль ссылок R1C1.
Как Вам может быть очевидно то, чего нет?) Про ссылки стиля R1C1 речи не шло, это Игорь внес путаницу.
На скриншоте: сверху - Ваш код, снизу - результат.
Изменено: Aleksey - 05.09.2016 16:45:58
Некорректно создаются правила условного форматирования при использовании VBA
 
Цитата
Ігор Гончаренко написал: а так?
В чем отличие? Точно так же создаются два правила для всей таблицы, после чего урезается диапазон второго правила, только стиль ссылок другой.
Некорректно создаются правила условного форматирования при использовании VBA
 
Цитата
ZVI написал: Pаботает VBA без проблем для нотации A1
Вот именно так у меня как раз и не работает. Excel 2010.
Некорректно создаются правила условного форматирования при использовании VBA
 
Ігор Гончаренко, я бы оставил, потому как название отражает суть проблемы, а проблема никуда не делась. Это, видимо, ошибка Excel/VBA. А то, что я предложил - просто обходной путь. Тем более, как я уже писал выше, эта проблема возникает только если применять в качестве форматирования цвет шрифта, если использовать заливку ячейки - то все в порядке.
Цитата
Ігор Гончаренко написал:
а для чего понадобилось использовать VBA?
Это просто крупица надстройки, одна из функций которой позволяет создать пользователю достаточно сложную структурно спецификацию, для дальнейшей работы пользователя с ней, в которой, в свою очередь используется около десяти правил условного форматирования, местами неизбежно перекрывающих друг друга.
Некорректно создаются правила условного форматирования при использовании VBA
 
Решение выглядит следующим образом. Сначала создаем оба правила для всей таблицы, а затем из ненужных столбцов удаляем второе правило.

Ну, собственно, вот и поговорили)
Изменено: Aleksey - 04.09.2016 21:07:37
Некорректно создаются правила условного форматирования при использовании VBA
 
Всем привет!

Имеется "умная таблица", программно создаются два правила условного форматирования: первое применяется ко всей таблице и выделяет строку целиком одним цветом шрифта, второе применяется к отдельному столбцу таблицы и выделяет соответственно ячейку другим цветом шрифта. Если проделать всё это вручную - то никаких проблем, а при использовании VBA происходит следующее. Первое правило создается без ошибок, затем создается второе правило, но его цвет шрифта применяется к первому правилу. Сразу скажу, что если использовать вместо цвета шрифта, например заливку ячейки - то все ок, но мне этот вариант не подходит.
ListBox. Заблокировать возможность выбора, но оставить возможность прокрутки.
 
Юрий М, разумеется я понимаю что можно не отслеживать действия пользователя в листбоксе). Но на мой взгляд, игнорировать вполне правомерные действия пользователя - это неправильно в своей сути.
ListBox. Заблокировать возможность выбора, но оставить возможность прокрутки.
 
Юрий М, этого. Пользователь ничего не может выбрать, он может только посмотреть, что уже выбрано. А в вашем решении получается, что в основном листбоксе он может выбрать что ему заблагорассудится. Проще тогда в листбоксе добавить еще одну колонку, где вместо галочки писать условно "ОК".
ListBox. Заблокировать возможность выбора, но оставить возможность прокрутки.
 
Теперь понял. Видимо меня смутило словосочетание "контрол-дубликат". Но мне кажется что это решение нарушает принцип WYSIWYG, получается что бы не выбрал пользователь в основном листбоксе на конечный результат это никак не повлияет.
ListBox. Заблокировать возможность выбора, но оставить возможность прокрутки.
 
Цитата
Юрий М написал: А вариант с контролом-дубликатом не рассматривается?
Это то что предлагает The_Prist?
Рассматриваются любые варианты! Я обязательно попробую всё что уже предложили или еще предложат.

Цитата
vikttur написал: Я спрашивал о ЦЕЛИ
Хорошо, я сформулирую цель подробнее, чуть позже.
ListBox. Заблокировать возможность выбора, но оставить возможность прокрутки.
 
vikttur, я правильно вас понял, что вам неизвестен способ заблокировать возможность выбора, но оставить возможность прокрутки у листбокса?
ListBox. Заблокировать возможность выбора, но оставить возможность прокрутки.
 
Всем привет!

Имеется пользовательская форма, на которой расположен ListBox, с несколькими колонками, в момент, когда форма показывается пользователю, в листбоксе уже выбрано несколько позиций. Требуется заблокировать возможность выбирать позиции в листбоксе, но при этом оставить возможность прокрутки. У меня было два варианта решения задачи:
1. Добавить элемент label, сделать его прозрачным, удалить заголовок и "натянуть" поверх листбокса. Вариант отпал потому, как оказалось что листбокс всегда находится поверх других элементов управления.
2. Перехватывать действия пользователя в листбоксе. И вот тут чё-то не пошло... Пробовал после действия пользователя восстанавливать исходное состояние листбокса в событии Change, но происходит рекурсивный вызов.

Кто-нибудь может помочь? Заранее благодарен!
Не обновляется код
 
RefEditControl отключал - не помогло. Ссылки на SolidWorks действительно нужны - я инженер, работаю в SolidWorks. В файле есть макрос "Массы", который берет значения массы из файлов солидворкса, там тоже работает не всё гладко, хотя код просто взят из хелпа солидворкса. Но это уже вопрос к солиду, который сам по себе крайне нестабилен, вряд ли здесь кто-то сможет помочь по этому поводу.
Не обновляется код
 
Здравствуйте!

Проблема следующая. Открываю редактор VBA, вношу изменения, запускаю макрос, а результатов изменений нет. Выполняется код который был до внесения изменений. Опытным путем выяснил, что если, например, допустить ошибку в синтаксисе, а потом ее исправить, то выполняется уже обновленный код.

Здесь надо сказать, что программирование - не мой профиль, и это вообще мое первое прикладное с ним знакомство, так что я вполне допускаю, что мог где-то накуралесить. Правда так же стоит отметить, что эта проблема появилась совсем недавно, при доработке практически уже готовой программы, до этого ее не наблюдалось.

Ссылка на файл: https://yadi.sk/i/fO8Azqa7bWjzE (там много корявого кода, т. к. я прям совсем новичок в вопросе программирования).

По совету Михаила Лебедева проверил в пошаговом режиме. Результат - в процессе выполнения кода происходит  перескакивание (пропускание) одной строки в которой вызывается определенная функция. Так происходит не всегда, порой код выполняется полностью корректно.

Собственно способ избавления от проблемы я нашел, но корень ее мне не ясен. Хоть для меня уже и не очень актуально, но если кто разберется, то одним ответом на тему "excel vba" в русскоязычном интернете будет больше.
Суть в том, что в книге, как меню висит постоянно отображающаяся пользовательская форма с кнопками. По одной из кнопок вызывается другая форма, где указывается путь к папке, затем на листе формируется список файлов находящихся в этой папке. Вот эта вот последовательность действий - вызывание одной формы из другой и приводит к сбою. Если убрать первую форму, а кнопки просто расположить на листе, то все работает абсолютно нормально.

Если всё-таки найдутся желающие поковыряться в файле, могу точнее указать последовательность действий, которая приводит к сбою.
Изменено: Aleksey - 18.09.2014 12:36:43
Страницы: 1
Наверх