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

Страницы: 1
Передать значение массива в .Interior.Color, VBA
 
Дмитрий(The_Prist) Щербаков, МатросНаЗебре, благодарю за помощь!
решил проблему через перевод RGB в LONG с помощью формулы (сразу в ячейку вписал цифры и все):
Код
  RGB=red+(green*256)+(blue*65536)
Изменено: a43 - 06.12.2024 13:52:31
Передать значение массива в .Interior.Color, VBA
 
Цитата
написал:
так это текст. А Color - это тип Long
а если arr(i, 1) присваивается примерно следующим способом? (т.е. в ячейках указан именно "текст"):
Код
for i = 1 to 10
 arr(i, 1) = Cells(i, 1)
next i
Передать значение массива в .Interior.Color, VBA
 
Доброго, форумчане!
Подскажите, пожалуйста, как правильно передать значение arr(i, 1) в Interior.Color ?

Имеется следующая строка кода, которая не работает:
Код
Range(Cells(1, 1), Cells(10, 1)).Interior.Color = arr(i, 1)
Хотя при наведении на arr(i, 1) показывает следующее:
Код
arr(i, 1) = "RGB(255, 200, 200)"

и соответственно без массива (напрямую) работает все корректно
Код
Range(Cells(1, 1), Cells(10, 1)).Interior.Color = RGB(255, 200, 200)
Изменено: a43 - 05.12.2024 15:09:02
Суммирование дубликатов в строках, VBA
 
Здравствуйте, эксперты экселя!

Прошу помочь с написанием макроса, который на основе данных с первого листа сформирует массив с просуммированными объемами без дубликатов.
Имеем 3 столбца:
A - условный код 1
B - условный код 2
C - столбец для суммирования

*в рабочем файле кол-во строк и условных кодов 1/2 всегда разное

Нужно просуммировать все значения в столбце C,если внутри "условного кода 1" есть дубликаты по "условному коду 2".
К сообщению приложил файл с примером (см 1 и 2 листы), для наглядности выделил дубликаты цветом.
При вычитании через макрос получается очень маленькое число, а не 0, -2,1316282072803E-14
 
Здравствуйте, товарищи форумчане

При проходе строчки кода:
Код
arr101(Yrow, Ycol) = arr101(Yrow, Ycol - 1) + arr101(Yrow, Ycol) + arr202(Yrow, Ycol)
получается значение -2,1316282072803E-14, хотя используемые значения равняются "0", "42,9" и "-42,9" (по крайней мере в локальном окне просмотра)
Скриншот из окна https://ibb.co/dWzxQcX


Инфо с оф.сайта Майкрософт:
Скрытый текст

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

Подскажите, пожалуйста, в правильном направлении я "накопал" - нужно использовать округление или можно обойти эту проблему каким-то другим способом.
Excel не видит открытую книгу сохраненную из другой программы
 
Цитата
написал:
а заголовок окна вот такой 01.xlsx - Excel?
точно, спасибо, тут была проблема. В заголовке окна не отражается расширение файла.
Убрал ".xlsx" и теперь файл, открытый руками, закрывает корректно.

Протестирую при обычный работе, отпишусь отдельно.
Excel не видит открытую книгу сохраненную из другой программы
 
Цитата
написал:
Код
    hWinXL = FindWindow(vbNullString, "01.xlsx - Excel")
    If hWinXL = 0 Then Exit Sub
webley, спасибо за пример кода, попробую разобраться, как оно работает. Сходу не получилось.

пока выходит на последней строчке, т.к.  hWinXL = 0, хотя файл 01.xlsx открыт руками
Excel не видит открытую книгу сохраненную из другой программы
 
Цитата
написал:
закройте этот файл
asesja, сейчас приходится делать именно так, но хочется от этого уйти и автоматизировать часть рутины, пусть даже такую незначительную.

webley, к сожалению, не знаком с функционалом api, но если с его помощью получится взаимодействовать с открытым окном (которое фактически открыто, но стандартный макрос с кодом "Workbooks("01.xlsx")" его не видит), то думаю, что это правильное направление.
Напишите, пожалуйста, пример части кода, которая отвечает за поиск/работу с api
Excel не видит открытую книгу сохраненную из другой программы
 
Дмитрий, проверил, файлы открываются в обычном режиме.

webley, если правильно смотрю диспетчер задач, то открывается в одном экземпляре Excel
Файл "Выгрузка" - рабочий файл, открыт руками с диска
Файл "01" - полученный файл из SAP
картинка из диспетчера задач
Изменено: a43 - 10.01.2024 10:21:09
Excel не видит открытую книгу сохраненную из другой программы
 
Доброго времени суток!
По работе приходится часто переносить данные из программы 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" и открыть его, макрос выполняется корректно.
*в примере используется один файл, фактически их больше и на эти действия тратится лишнее время.

Может быть кто-то сталкивался с подобной проблемой, как можно ее решить?
*пробовал сделать макрос для автоматического закрытия и открытия файлов - столкнулся с аналогичной проблемой - макрос не видит файл и не может его закрыть.
Страницы: 1
Наверх