Помогло следующее:
Код |
---|
pt.ManualUpdate = False ' отключение обновления данных таблицы по фильтрам ... pt.ManualUpdate = True ' включение обновления данных таблицы по фильтрам |
05.10.2020 17:01:31
Добрый день, коллеги!
Помогите разобраться... простая формула в PQ в пользовательстом столбце
Если в последнем столбце оказывается значение null, то вся формула выдает null. Как это побороть??? необходимо выводить просто "2020-02-13_" если второе поле пустое. |
|||
|
03.06.2020 08:57:19
Добрый день
Столкнулся с такой проблемой... делаю несколько уровней группировки (макросом). На листе включена опция "Автоприменения стилей" для структуры. При этом если в таблице стилей указана заливка, хотя бы для одного из уровней, то при обновлении листа: 1 (макросом) - все три уровня станут черной заливкой 2 (через кнопку Применить стили) - только того уровня где есть заливка в стилях При этом если я просто выделив строку и нажму стиль на панели стилей то стиль применяется корректно. Коллеги, помогите в чем проблема???? при этом когда я делал первый раз через 2 вариант - все было ОК... но потом в какой то момент после обновления 1 вариантом стало так... Скрины и файл прилагаю. |
|
|
19.02.2020 14:21:24
Пробовал убирать подавление... проблема записи не уходит, сообщений (даже о перезаписи - как локально) не выходит тоже.
Проблем с доступом к сетевой папке у пользователя нет... чтение и запись проходит на ура во всех иных случая... только вот это исключение вышло... Как доказательство строка выше отрабатывает нормально (хотя сохраняется в тот же самый путь): ThisWorkbook.SaveAs ThisWorkbook.Path & "\arhive_RemontKP_" & Format(Now, "YYYY-MM-DD-HHMMSS") & ".xlsm" явное указание формата тоже не помогло. |
|
|
19.02.2020 11:15:40
Через код VBA организована подмена файла новым с переносом исходных данных.
И все хорошо когда файл лежит локально... и проходит на ура! Только скрываю запрос на замену... Вот кусок кода...
Как я понял в данной ситуации не выходит запрос на перезапись файла совсем... он просто не освобождается пересохранением... Как обойти ситуацию??? в чем может быть проблема??? |
|||
|
13.09.2018 08:55:25
Предложенный вами вариант был абсолютно правильным и решал проблему, но имел очень много костылей в реализации... - чем больше лишних имен и столбцов, тем проще пользователю, что либо сломать. Хотя и формула массива для пользователя тоже не панацея, но если сломает восстановить будет куда проще... тупо скопировав из чистой книги. |
|||
|
13.09.2018 08:52:21
Вы гений |
|||
|
11.09.2018 19:34:09
Добрый день, форумчане!
Создал Именной диапазон (имя - НарИтог) с формулой - ="'"&ТЕКСТ(нарастающим!$C$2;"ГГГГ-ММ")&"':'"&ТЕКСТ(нарастающим!$D$2;"ГГГГ-ММ")&"'!"&АДРЕС(СТРОКА();СТОЛБЕЦ();4) Результатом получается текстовая строка - '2018-01:2018-02'!G2 И все вроде в ней корректно... но Эксель отказывается считать сумму по такой ссылке... если просто =СУММ(НарИтог) то вычисляет 0,00 хотя сумма должна быть несколько миллионов если =СУММ(ДВССЫЛ(НарИтог)) то просто выводит ошибку - #ССЫЛКА! Пример во вложении... Цель предоставить пользователю сумму с указанного диапазона листов, имена которых определяются из дат введенных в ячейки листа Нарастающим. Желательно без макросов...
Изменено: |
|
|
08.08.2018 11:49:36
Речь о предложении sokol92в 7м посту...
|
|||
|
07.08.2018 18:04:03
Если я удаляю с диска проблемный файл.... и сохраняю на него новый файл без проблем, то даже после перезагрузки все нормально и никакой запятой нету! Пока так сказать я рядом ))))) Как только проходит какое то время и пользователь работает за компом - случается какое то чудо... и нормальный файл снова превращается в "кривой". |
|||||
|
07.08.2018 17:29:42
И перезагружал комп и несколько раз переоткрывал Эксель, чтобы проверить, что запятая не появилась... И все было норм... но ровно спустя сутки меня зовет пользователь с той же проблемой То есть конкретный комп в какой то момент (как бы узнать что это за момент) делает файл кривым... |
|||
|
07.08.2018 15:53:19
На чисто открытом экселе (запущенном через меню пуск) картина следующая... просто к числу автоматом добавилась решетка (скрин во вложении)
sokol92, а вот если эксель открываю не через пуск а через старый кривой файл, потом его закрываю (но не завершаю сам эксель) и создаю новый документ, то кроме решетки еще и запятая прилипает... |
|
|
07.08.2018 14:16:09
Кнопка цитирования не для ответа [МОДЕРАТОР]
Сделал... Все как и говорилось скомпилировалось на ура... Во вложении файл... Причем заметил... если я открываю на кривом компе чистый файл (где у меня еще нет запятых), то он работает тоже нормально и они не появляются... А вот если паралельно открываю уже испорченый файл то тут же запятые появляются и в нем... несмотря на то что только что их на том же самом компе в этом файле не было... Как будто в месте с загрузкой этого файла меняется какой то стандарт ввода чисел... а решетка после числа что значит? если без нее то вроде не ругается и там и там... сейчас попробую... Зато не компилируется с ошибкой Overflow на второй строке где число получаем из умножения и деления
Изменено: |
|
|
07.08.2018 12:10:08
Добрый день, формучане!
Прошу простить мне мой колхозный язык... в первые вижу такой глюк. На моем компе все нормально... есть следующий код в начале модуля...
А вот на одном из рабочих мест пользователя после цифр в константе типа Double появляются после числа запятые. Причем код на том рабочем месте работает нормально.... а вот когда пользователь поработав сохраняет и отправляет другому, то на нормальной машине VBA ругается на лишние запятые в коде (скриншот приложен). Если их убрать, то все норм... но вот когда пробовал их убрать на косячном рабочем месте они тупо при переходе на строку ниже VBA дописывает их сам. Грешил на региональные настройки системы, но все аналогично как и на других компах. Причем если я открою свой файл на этом компе, то запятые сами собой не появляются... то есть может быть открыто одновременно два одинковых по коду файла, но в одном будет глюк с запятой, а в другом нет... Попробовал удалить глючный файл и оставить только нормальный... но через буквально день - запятые опять на месте... не пойму от чего это зависит ((( Посоветуйте что можно еще порыть... в интернете не нашел даже похожих вопросов... может я как то не так формулирую и проблема известна.???. Помогите, знатоки и гении Excel'я... а то пользователи уже начинают на меня факельной шествие |
|||
|
26.10.2017 12:39:43
Андрей VG, спасибо огромное за отличный пример!!!
Родитель бы мне нужен только для того чтобы взять переменную у него, так как в стандартную процедуру инициализации нельзя переменную засунуть... А ваш пример натолкнул на мысль - уйти от автоматической инициализации, и все встало на свои места!!! Даже решило пару проблем!!! Спасибо еще раз! |
|
|
25.10.2017 15:09:11
Добрый день!
Подскажи пожалуйста столкнулся с проблемой, что не срабатывает деструктор класса при команде set class_name = nothing Опытным путем было выявлено, что он не срабатывает если у класса есть дочерние элементы являющиеся также пользовательскими классами... В чем проблема и как ее обойти??? Файл с примером во вложении - авава.xlsm |
|
|
16.06.2017 20:07:14
Просто пока сегодня рылся в формулах уже пробовал подобную функцию но вариант с "0000000" она не принимала... Видать это как раз =РАБДЕНЬ.МЕЖД() и тогда я и на VBA смогу ее вызвать через worksheetfunction.NetworkDays_Intl |
|||
|
16.06.2017 19:30:00
Ни один вариант не подходит.
Чисторабдни считает за минусом выходных, а тут календарные, а не рабочие нужно... Так как есть два условия 1- это надо сделать в коде VBA (без участия листа) 2- мне нужна не просто разница между датами, а за минусом празничных дней... формулой я нашел как это решить: считаем количество праздничных дней входящих в период так - =СУММПРОИЗВ((ПраздникиРФ>=42887)*(ПраздникиРФ<=42916)) ПраздникиРФ - это именнованный массив с празничными датами затем просто из одной даты отнимаем другую плюс 1 (так как конец не берет эксель) и отнимаем количество праздничных. Но как это количество праздничных посчитать на VBA без листа?
Изменено: |
|
|
28.07.2016 08:15:53
Макрос сделан так что на событие beforesave скрываются два листа, а на событие aftersave и wb_open они обратно открываются если имя компьютера соответствует определенным условиям, дабы один и тот же файл без лишних манипуляций пользователя на разных компах содержал разное количество видимых листов... Как иначе можно это сделать? прятать листы при открытии - тоже не вариант, ведь компов на которых их надо прятать сотни... и настройки безопасности на них разные и макрос может тупо не отработать |
|||
|
28.07.2016 08:06:09
Так почему не срабатывает событие, ведь на сохранить как оно запускается. А самый главный вопрос - как это обойти и все равно выполнить макрос!? |
|||
|