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

Страницы: 1
Проблема с добавлением новой записи в таблицу через форму (VBA, ошибка Run-Time), При добавлении нового клиента первый раз все данные в таблицу вносятся без проблем. Но если добавить ещё одного клиента, появляется ошибка Ран Тайм, ... что метод Добавить в объекте ListRows потерпел неудачу
 
Действительно, всё заработало. Спасибо за помощь.  
Проблема с добавлением новой записи в таблицу через форму (VBA, ошибка Run-Time), При добавлении нового клиента первый раз все данные в таблицу вносятся без проблем. Но если добавить ещё одного клиента, появляется ошибка Ран Тайм, ... что метод Добавить в объекте ListRows потерпел неудачу
 
Не помогло. Полностью всё сделал в новом файле. Теперь ошибка выскакивает не спустя несколько вводов значений, а через 5-10 добавлений данных через форму.
Проблема с добавлением новой записи в таблицу через форму (VBA, ошибка Run-Time), При добавлении нового клиента первый раз все данные в таблицу вносятся без проблем. Но если добавить ещё одного клиента, появляется ошибка Ран Тайм, ... что метод Добавить в объекте ListRows потерпел неудачу
 
Помогите разобраться с ошибкой
Run-Time Error '-2147417848 (80010108)':
Method 'Add' of object 'ListRows' failed

Я делаю простую систему кассового учёта. Все накладные мы пишем вручную, а в конце смены я вношу имена контрагентов и суммы накладных в таблицу и формирую отчёт. В vba не силён, но понемногу осваиваю.

Сделал форму для добавления накладных в таблицу и она работает отлично. Аналогичным образом сделал форму для добавления нового клиента, но она ведёт себя странно, а именно. При добавлении нового клиента первый раз все данные в таблицу вносятся без проблем. Но если мы решим добавить ещё одного нового клиента, появляется ошибка Ран Тайм, которая говорит, что метод Добавить в объекте ListRows потерпел неудачу. При этом Эксель зависает наглухо.

Помогите, пожалуйста, понять причину и исправить ошибку или обойти её.
Изменено: Дмитрий - 09.10.2022 13:21:08
Имитация нажатия сочетания клавиш, Имитация нажатия сочетания клавиш Alt+стрелка вниз при выделении ячейки с выпадающим списком
 
Цитата
написал:
Насколько я помню, тезка из  WScript.Shell  Num Lock не портит.
Этот вариант работает как нужно. Спасибо.
Вывод списка с учетом фильтра
 
Цитата
написал:
Нашел, что в новом Exel 365 есть функция "ФИЛЬТР", которая полностью решает мою задачу, но к сожалению она не работает на Exel 2010.
Работает в последних версиях Excel, не обязательно использовать 365. Если вы не против носить повязку на глазу и попугая на плече, не вижу повода не обновиться. Кроме =Фильтр есть ещё ряд шикарных возможностей в новых версиях.
Имитация нажатия сочетания клавиш, Имитация нажатия сочетания клавиш Alt+стрелка вниз при выделении ячейки с выпадающим списком
 
При использовании обеих вариантов кода наблюдаю срабатывание нажатия клавиши Num Lock (включается и выключается соответствующая лампочка на клавиатуре и переключается режим работы клавиш дополнительной панели клавиатуры). И это происходит при каждом клике по ячейкам с выпадающим списком. Код работает верно, но раздражает постоянная светомузыка.

Файл прикладываю. В столбце "Статус" по клику выпадает список. Может кто-то пояснит в чём причина и как избавиться от этой аномалии?
Прайс с фильтром на основе динамических массивов и VBA, Быстро вытягивать нужную информацию из прайса =СОРТ =УНИК =ФИЛЬТР + VBA
 
Хотел сделать тему в копилке идей, но там почему-то недоступна возможность создания тем.

Идея была в том, чтобы получить возможность максимально быстро вытягивать нужную информацию из прайса. На данный метод вдохновило видео Николая про новые функции динамических массивов.

Для этого я реализовал несколько способа поиска нужной информации.
Прежде всего, я сделал более удобную возможность фильтрации данных в таблице по вводимым словам. Для этого над каждым столбцом таблицы я расположил ТекстБокс и кнопку, сбрасывающую фильтры.

Второй метод выборки нужных позиций реализован на основе динамических массивов. Поиск пришлось реализовывать по двум критериям, так как есть производители и различные типы товара. Изначально сделал это на основе связанных выпадающих списков, но тут же понял, что это крайне неудобно и очень долго и муторно тыкать по выпадающему списку, потом искать нужное значение, затем проделывать то же самое со вторым критерием и было решено сделать динамические списки на основе функций =СОРТ() =УНИК() =ФИЛЬТР(). Для реализации фильтрации по двум критериям пришлось сделать промежуточную таблицу. Может кто-то предложит более простое решение данной функциональности?

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

Хочу отметить, что практически не разбираюсь в VBA и все скрипты собраны на просторах интернета и подредактированы под мои нужды методом научного тыка.

Надеюсь кому-нибудь пригодится такое решение.
Изменено: Дмитрий - 23.03.2022 14:21:36
Условное форматирование на основе совпадения части текста в столбце
 
artemkau88, да, теперь работает как надо. Огромное спасибо. Попробую завтра потестировать в работе.  
Условное форматирование на основе совпадения части текста в столбце
 
artemkau88, подкрашиваться должны в первом столбце значения, которым найдена пара во втором столбце. Во втором столбце зелёным должны подкрашиваться значения, которым найдена пара в первом столбце и красным значения, которым пары не найдены.
Условное форматирование на основе совпадения части текста в столбце
 
artemkau88, мне даже неудобно уже. Не работает подсветка зелёным в первом столбце той записи, с которой найдено совпадение.
Условное форматирование на основе совпадения части текста в столбце
 
artemkau88, Всё кажется работает, но немного не так. При вводе значений в первый столбец не предполагалось проводить никакие вычисления. Это столбец с исходными данными. Сравнение записей должно происходить только по факту ввода значения во второй столбец. Соответственно окрашивание совпавшей пары также должно происходить по факту ввода значения во второй столбец.

Также при очистке таблицы не происходит восстановление исходного форматирования с удалением заливки цветом и удаление значений в третьем столбце. Хотя в моём исходном варианте третий столбец был вспомогательным. В варианте с VBA он не обязателен.

Мне интересен такой вопрос. При количестве строк более 4000 какой вариант будет работать быстрее и требовать меньше вычислительной мощности компьютера, с формулами или скриптом?
Условное форматирование на основе совпадения части текста в столбце
 
artemkau88, файл почему-то недоступен для скачивания. Не могли бы вы его повторно выложить? Написано: Указанного файла не существует.
Изменено: palach-d - 27.03.2021 15:45:27
Условное форматирование на основе совпадения части текста в столбце
 
gling, спасибо большое за помощь, очень помогли. Всё работает как надо.
Условное форматирование на основе совпадения части текста в столбце
 
artemkau88,Спасибо за быстрый ответ, но, насколько я понял, макрос работает не так, как мне нужно. Мне надо, чтобы проверка проходила по всему первому столбцу. В нём будет примерно 4000 значений. Во второй столбец я буду вводить значения по одному и мне нужно, чтобы поиск совпадения происходил по всему первому столбцу после ввода значений во второй столбец. Желательно, чтобы проверка совпадений происходила после нажатия клавиши Enter.

В вашем решении проверка происходит только в пределах одной строки первого и второго столбца.
Условное форматирование на основе совпадения части текста в столбце
 
С трудом собрал для себя решение по сверке кодов маркировки. Россию накрывает это несчастье, а готовых решений для всех задач просто нет. Вот я столкнулся с такой проблемой, что поставщик присылает сокращённые коды маркировки и их же в виде кодов DataMatrix на стикерах. Задача в сверке кодов, переданных в электронном виде и предоставленных фактически с товаром.

В первом столбце таблицы будут коды, представленные поставщиком. Второй столбец заполняется при помощи сканера штрихкодов. Таблица ищет первые 24 символа полного штрихкода в первом столбце и если находит совпадения, ставит пометку "Есть" в третьем столбце, а условное форматирование на основе этой пометки окрашивает ячейку с соответствующим кодом в зелёный цвет. Если совпадений нет, то в красный.

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

Я попробовал добавить ещё один столбец в начале таблицы, но мне не удалось составить формулу, чтобы она корректно работала. Прошу помощи с реализацией этого решения. В документе две вкладки с базовой версией таблицы и с отметкой галочкой строк с совпадениями, но вторая вкладка работает не корректно.
Изменено: palach-d - 26.03.2021 14:30:46
Условное форматирование заголовка таблицы по содержанию строки
 
Да, это то, что нужно. Спасибо. Мой вопрос решен полностью. Надеюсь эта информация пригодится кому-то ещё.
Условное форматирование заголовка таблицы по содержанию строки
 
Выражаю свою благодарность пользователям Dima S и lexey_fan за помощь в решении вопроса.
Совместив их варианты я получил то, что мне нужно. Ниже опишу все подробности.

Формула условного форматирования от Dima S отлично работает и в реальном времени отслеживает изменение содержания таблицы. Поэтому для условного форматирования я выбрал её.
Скрипт от lexey_fan также умеет выполнять условное форматирование, но при заполнении ячеек он не отображает текущего состояния таблицы во время её заполнения. Чтобы форматирование сработало, нужно щёлкнуть на другую строку, а затем вернуться на предыдущую, но lexey_fan доработал скрипт для выделения строки макросом.
Постановка маркера в первой ячейке: можно клацать в любом месте таблицы. Это очень удобно именно для моего случая.
Макрос с форматированием заголовка таблицы:
Скрытый текст

Далее код, который не выполняет форматирование заголовка таблицы, а лишь ставит галочку в первый столбец активной строки по клику в любом месте таблицы:
Скрытый текст

Прикреплённый файл - это результат моего объединения двух методов, скрипта для постановки маркера и условного форматирования.

НЕДОСТАТОК: при работе с одной строкой выделение поочерёдно будет появляться и исчезать. Если у кого-то есть возможность подправить макрос, чтобы при кликах по одной строке маркер не снимался, буду очень признателен.
Прошу знающих людей проверить, всё ли я правильно написал, так как мои познания EXCEL очень ограничены.

Длинные простыни прячьте под спойлер [МОДЕРАТОР]
Условное форматирование заголовка таблицы по содержанию строки
 
Уважаемые знатоки Экселя. Мне нужна ваша помощь.
Я столкнулся с такой задачей:
В первом столбце таблицы ставится маркер. В моём случае это латинская буква "а". Благодаря скрипту, найденному на данном сайте она ставится простым кликом по ячейке.
Далее в таблице в заголовке идёт список фамилий. Под ними указывается отработанное время простым числом и иногда буками.
Мне нужно условное форматирование для заголовка с фамилиями, чтобы подсвечивались ячейки заполненные в строке, в которой стоит маркер "а" и под которыми заполнено время.
То есть, поставив маркер в определённой строке я хочу сразу видеть подсветку, какие люди работали.
Подробные разъяснения в прикреплённом файле.
Буду крайне признателен за помощь.
Значение фильтра в отдельную ячейку
 
Nic70y,спасибо за реализацию, но построение дополнительной табицы или матрицы не желательно. Может это можно сделать макросом?
Значение фильтра в отдельную ячейку
 
Уважаемые форумчане, на старом форуме тему с ответом не нашёл. Ответ в этой теме не смог применить. Помогите, пожалуйста.

Есть в таблице столбец с датами. фильтрация будет выполняться по месяцам. Мне нужно в заголовке столбца или в любой произвольной ячейке получить через запятую или через пробел список месяцев, по которым выполняется фильтрация. Пример таблицы во вложении. Заранее благодарен.
Сумма в столбце таблицы по условиям
 
Благодарю за консультацию. Надеюсь эта тема поможет не только мне.
Сумма в столбце таблицы по условиям
 
Таблица будет содержать 66 записей на каждый месяц. Что Вы посоветуете, использовать дополнительный столбец и функцию =СУММЕСЛИ или избавиться от доп. столбца и пользоваться =СУММПРОИЗВ?  
 
Прикрепил рабочий вариант таблицы.
Сумма в столбце таблицы по условиям
 
Проделал всё вышеобозначеное. Насчет суммесли не догадался, квалификация слабовата.    
 
А есть ли возможность реализовать то-же самое без перевода даты в текст? Это даст возможность исключить лишний столбец. который не несет для меня ни малейшей полезной информации, а используется только для работы функции.
Сумма в столбце таблицы по условиям
 
Задача следующая:  
 
Есть таблица, в которой ведется в столбик запись числовых значений, в соседний столбец записывается дата, соответствующая числовому значению. Записи делаются ежедневно. Мне нужна сумма всех числовых значений за определенный месяц. Хотелось бы автоматизировать этот процесс.    
 
Более подробно в прикрепленном файле.
Страницы: 1
Наверх