"Строка формул"... была у меня отключена в этом файле для визуальной красоты. А теперь вспомнил, что именно так и именовал картинки.
Большое спасибо за помощь!
Большое спасибо за помощь!
02.07.2024 19:16:14
Добрый день! Прошу помочь разобраться с событием Worksheet_Change.
С помощью проверки If Target.Column = 2 я делаю так, чтобы событие срабатывало только при изменениях во втором столбце. А можно ли сделать так, чтобы ещё уменьшить этот диапазон до конкретных ячеек? У меня есть именованный через Диспетчер имён диапазон Names. Какой проверкой можно привязать событие только к этому диапазону? |
|
|
19.02.2023 22:34:08
Вот просто сделал форму с элементами, чтобы не было никакого влияния на них остального кода.
Слева лейблы, кнопка, текстбокс спокойно ложатся друг под друга или друг на друга (меняются слоями), а справа фрейм, который почему-то так не может и всегда остаётся как бы в верхем слое над всеми остальными объектами. Так что получается, что для того, чтобы этот label3 поднять в слой выше Frame1, нужно только запихнуть его в ещё один фрейм, который уже сможет конкурировать с тем за место выше? Или может таки есть какой-то нюанс или свойство, которое может сделать это проще? |
|
|
19.02.2023 20:28:39
Добрый день! Проблема похоже максимально простая, но протыкав всюду, куда только можно, так и не смог найти ей решение.
С помощью всплывающего лейбла делаю замену ControlTipText-у. А проблема в том, что label отображается только в пределах фрейма, в котором расположен и не влезая в него просто скрывает всю часть, которая выходит за пределы фрейма. Если создать лейбл за пределами фрейма, то он всё равно будет располагаться под всеми фреймами. Вопрос: реально ли как-то организовать этот лейбл, чтобы он отображался поверх всех фреймов формы? С другими лейблами или простыми объектами, например, текстбоксами, это решается кнопками Bring Forward / Send Forward в контекстном меню. С фреймами же эти кнопки никак не помогают. |
|
|
13.01.2023 14:17:23
_Boroda_, ГЕНИАЛЬНО! Битый час возился с тяганием туда и оттуда этой таблица, а оказывается надо РАЗ и ГОТОВО!))
Всё равно, конечно, не понятно, как границы ячейки, которых там возможно и не было (границы умной таблицы сами рисуются шаблоном) могут влиять на проверку значений. Вот специально тыкаю сейчас границы в разные места таблицы, чтобы добиться той же ошибки, а нет, всё работает... Дважды большое СПАСИБО! И за решение проблемы и за подсказку укоротить строку проверки). |
|
|
13.01.2023 13:36:31
Добрый день! Никак не могу разобраться, от чего возникает некорректная работа формулы условного форматирования.
Задача: Последнее правило условного форматирование должно рисовать границу между строками в случае несоответствия значений в ПЕРВОМ или ВТОРОМ или ПОСЛЕДНЕМ столбцах, т. е. если следующее <> предыдущему. Результат: Всё работает отлично по всей таблице, кроме трёх мест. Обозначил рядом красным и отдельно выделил по каким условиям работает правило (скриншот). Чтобы рисовалась граница должна быть хотя бы одна ИСТИНА, как в зелёных примерах ниже. Перепробовал копирование туда-сюда, чтобы избежать каких-либо малейших неточностей в значениях, но условие говорит само за себя: три ЛЖИ дают ИСТИНУ... Вопрос: Может быть есть какой-то нюанс в работе этих формул или может просто я дурак чего-то очевидного там не вижу?
Изменено: |
|
|
04.01.2023 03:01:42
Добрый день! Прошу помочь разобраться в проблеме. Следующий код должен просто подчеркнуть один из label-ов.
Может есть какие-то другие варианты изменения этого свойства? Или при каких вообще случаях может происходить такая некорректность? |
|||
|
24.09.2022 19:26:53
Виноват... Просто там в формуле несколько запутанных функций написанных мной отдельно и сидеть разбираться в этом просить как-то неудобно. Думал, вдруг есть какое-то простое решение проблемы. Но проблема походу как раз таки в сложности моих функций, ведь простые автоматически считаются нормально.
Сделал ещё одну проверку: отключил автоматический пересчёт функций - теперь с кнопки "пересчитать" всё корректно работает. Но как только выставляю автоматический пересчёт, всё опять ломается. Вывод: не напрягайте эксель сложными формулами, чтобы он не напрягал вас...
Изменено: |
|
|
24.09.2022 18:43:25
Сделал более тщательную проверку (Скриншот 3). Чётко видно, что выдаёт результат "и1", который соответствует ЛЖИ, что как бы не соответствует логике функции ЕСЛИМН, ведь должен выводиться результат при ИСТИНЕ, ну или хотя бы какая-то ошибка, если ИСТИНЫ нет. Но после двойного клика + enter по любой ячейке Таблицы1 всё корректно пересчитывается. Хотя, по сути, формулами там записывается такое же обычное число, как и при записи вручную. Прописал в постороннем столбце максимально простую формулу - работает нормально. То есть, проблема в сложности формулы (она и правда сложная, на 15 строк). Но всё равно не совсем понятно, почему сложная формула на 100% корректно работает при ручном вводе значений в умную таблицу и отказывается работать при вводе того же самого в умную таблицу, но через формулу.
Изменено: |
|||
|
24.09.2022 16:27:44
Добрый день! Изначально проблемы не было. Есть Таблица1 и посторонний столбец (Скриншот 1). В постороннем столбце вычисляются значения на основании результатов в Таблице1. Ввожу вручную результаты в Таблицу1 и посторонний столбец всё корректно считает динамически. Всё работает, как надо.
Но, как только делаю в Таблице1 формулы для того, чтобы результаты вписывались не вручную, а брались из другой таблицы, формула в постороннем столбце перестаёт корректно работать. Это подтверждается при проверке формулы на Скриншоте 2: видно, что результат должен быть "1", как при ИСТИНЕ, а он выдаёт пустоту, которая задана при ЛЖИ. Но если тут же сработать вручную формулу в Таблице1, то формула в постороннем столбце работает. Отсюда возникает вопрос: это такой нюанс работы умной таблицы или может как-то можно включить корректный пересчёт при использовании формул? |
|
|
19.07.2022 03:18:55
Марат Хасанов, нужно просто выставить правильный приоритет правил.
Правило для жёлтого:
Изменено: |
|||
|
27.06.2022 01:11:05
|
|||||||||||
|
26.06.2022 23:50:35
Конечный пользователь теперь будет крайне счастлив, что у него на листе есть кнопочка, которой он возможно никогда и не воспользуется)). |
|||||
|
26.06.2022 17:28:04
Чтобы не оставлять тему без решения, привожу пример того, как решил проблему:
Итого и ToggleButton и обработка его события создаётся автоматически кодом VBA. |
|||
|
26.06.2022 02:17:30
Ігор Гончаренко, но это заранее вставленная на лист кнопка. А нужна именно програмно создаваемая (и не кнопка, а именно ToggleButton) из макроса, так как заранее не известно ни место положение кнопки ни размер столбца. Что возвращает к той же проблеме, что невозможно это правильно создать на листе.
Изменено: |
|
|
26.06.2022 01:23:23
Ігор Гончаренко, задача простейшая. Нужен переключатель, который будет округлять значения (баллы) в определённом столбце до целого и обратно.
То есть, при нажатом переключателе .NumberFormat = "0", а при отжатом .NumberFormat = "0.00". Кнопка с этой задачей тоже хорошо справится: можно вместо переключения ToggleButton'a, сделать просто смену текста кнопки. Но всё же хотелось бы именно ToggleButton. |
|
|
26.06.2022 00:50:59
Прошу помощи в создании выключателя ToggleButton и обработки его события через код VBA. Имею два подхода, но оба заходят в тупик.
|
|||||
|
05.06.2022 20:08:49
SAS888, спасибо! Это тоже частично решило проблему. Правда у переключателя почему-то такого свойства нету, но зато наверно таки разобрался, что это всё таки какой-то баг. Оказывается прозрачность теряется после нажатия не на одну секунду, а до тех пор пока курсор остаётся в пределах кнопки.
|
|
|
04.06.2022 13:39:13
Здравствуйте! Столкнулся с проблемой при работе с прозрачностью кнопки.
Если делать кнопку на форме, то свойство fmBackStyleTransparent, которое делает кнопку прозрачной, работает правильно. Но, если же добавить кнопку (элемент ActiveX) на рабочий лист, то данное свойство изначально делает кнопку прозрачной, но сразу после нажатия на неё прозрачность теряется и появляется снова только после клика на какой-то другой объект. Вопрос: это такой неудобный нюанс работы кнопки на листе или может нужно как-то дополнительно программировать кнопку, чтобы прозрачность сохранялась и после нажатия? |
|
|
14.11.2021 23:24:11
Но возникла другая проблема... Которая так же возможно связана с тем, что я не до конца понимаю различия написания кода в обычном модуле и модуле класса. Нужно сделать три ToggleButton'а, но не на переключение ВКЛ/ВЫКЛ, а так, чтобы при нажатии на один, он делался ВКЛ, а два других автоматически делались ВЫКЛ. Теоретически всё просто: проверяю условием, какой тоглбаттон нажат и выставляю правильную комбинацию свойств Value всех трёх. Но на практике выдаёт ошибку: Определены тоглбаттоны в модуле класса: Dim OnlyHomeMatchesToggleButton As New ClassModule, OnlyAwayMatchesToggleButton As New ClassModule, AllMatchesToggleButton As New ClassModule И заданы следующим образом: Что может быть не так? Какое-то специфическое обращения к свойствам должно быть в модуле класса или может я просто не правильно их задаю/определяю? |
|
|
11.11.2021 01:04:43
Добрый день! Столкнулся с некорректной роботой функций UBound и LBound и не могу разобраться почему. Процедура записана в модуле класса.
В момент выполнения функций UBound и LBound массив AllMatchesHomeTeamLabel, определяемый как Dim AllMatchesHomeTeamLabel() As New ClassModule, имеет размерность (1 to 17), но результат функции почему-то выдают -1 и 0. Проверял функции в обычном модуле: там и массив, определяемый как Public HomeK1() As Double, и как Public HomeTeamLabel() As New ClassModule, выдают правильные значения своих верхних и нижних индексов. Поэтому сделал вывод, что это либо связано с тем, что процедура записана в модуле класса и там есть какие-то свои нюансы, либо есть какая-то ошибка, которой я не вижу? |
|
|