Прошу помочь с написанием макроса, который на основе данных с первого листа сформирует массив с просуммированными объемами без дубликатов. Имеем 3 столбца: A - условный код 1 B - условный код 2 C - столбец для суммирования
*в рабочем файле кол-во строк и условных кодов 1/2 всегда разное
Нужно просуммировать все значения в столбце C,если внутри "условного кода 1" есть дубликаты по "условному коду 2". К сообщению приложил файл с примером (см 1 и 2 листы), для наглядности выделил дубликаты цветом.
получается значение -2,1316282072803E-14, хотя используемые значения равняются "0", "42,9" и "-42,9" (по крайней мере в локальном окне просмотра) Скриншот из окна https://ibb.co/dWzxQcX
Инфо с оф.сайта Майкрософт:
Скрытый текст
Пример, когда значение достигает нуля
В Excel 95 или более ранней версии введите в новую книгу следующее:
A1: =1,333+1,225-1,333-1,225
Щелкните правой кнопкой мыши ячейку A1 и выберите пункт Формат ячеек. На вкладке «Числовые форматы» выберите «Инженерный» в разделе «Категория». Установите значение Знаки после запятой на 15.
Вместо 0 Excel 95 отображает -2,22044604925031E-16.
В Excel 97 добавлена оптимизация для устранения этой проблемы. Если в результате операции добавления или вычитания получается значение равно или близко к нулю, Excel 97 и более поздние версии компенсируют неточность, полученную в результате конвертации операнда в двоичную систему и обратно. При выполнении примера, указанного выше, в Excel 97 и более поздней версии в экспоненциальном представлении отображается правильное значение 0 или 0.000000000000000E+00.
На нашем форуме наткнулся на тему, где +- подобную проблему предлагается решать через округление используемых значений.
Подскажите, пожалуйста, в правильном направлении я "накопал" - нужно использовать округление или можно обойти эту проблему каким-то другим способом.
Доброго времени суток! По работе приходится часто переносить данные из программы SAP в Excel и там их обрабатывать. Столкнулся с плавающей проблемой, при которой макрос, который использует выгруженные данные, не всегда видит, что книга с ними открыта.
Работает это так: 1) в SAP нажимаю кнопку для сохранения данных в формате Excel 2) в появившемся окне выбираю путь сохранения и название файла "01", нажимаю сохранить 3) автоматически открывается данный файл Excel, в папке появляется файл с указанным названием 4) запускаю макрос для обработки файла, на строке Set wb01 = Workbooks("01.xlsx") 5) получаю ошибку Run-time error '9': Subscript out of range - будто файл с названием "01" не открыт, хотя окно этого файла открыто
Если между пунктами 3 и 4 закрыть файл с названием "01" и открыть его, макрос выполняется корректно. *в примере используется один файл, фактически их больше и на эти действия тратится лишнее время.
Может быть кто-то сталкивался с подобной проблемой, как можно ее решить? *пробовал сделать макрос для автоматического закрытия и открытия файлов - столкнулся с аналогичной проблемой - макрос не видит файл и не может его закрыть.