Здравствуйте! Просьба помочь в следующем вопросе: я загружаю на сервер через VBA некоторую информацию. После обработки макроса мне выдает сообщение об успешности запроса:
Код
MsgBox .Status
В результате мне приходит обычно успешная обработка запроса: 200.
Можно ли как-то отправить этот ответ на почту? Как отправлять письма через VBA я знаю, нашел на форуме и применял неоднократно. Но с запросом не получилось.
И тоже самое до ответа на запрос мне приходит информация от сервера в виде ключа:
Код
MsgBox (.responseText)
Как отправить письма вместо MsgBox? Либо хотя бы одного письма со статусом 200?
Здравствуйте! Есть таблица по декретницам: - в столбцах C и D указаны виды отсутствия и периоды отсутствия - это может быть как в одну строчку, так и в несколько, в зависимости от видов отпусков по декрету (по беременности и родам, до 1,5 лет, до 3 лет, а далее может быть сразу и 2-й ребенок и т.д.); - в столбцах E и F указаны даты досрочного выхода из декрета. - в столбцах I и L я указал итоги, как должно получиться.
Некоторые комментарии: Если строка с отзывом из отпуска является последней по сотруднице (пример Петрова), то дата начала отзыва из отпуска будет являться финальной датой окончания декрета минус 1 день. Если есть отзыв из отпуска, но строка не является последней по сотруднице (пример Иванова), то финальной датой окончания декрета будет дата в последней строке по сотруднице из ячейки D.
Здравствуйте! Просьба помочь из нескольких периодов отсутствия рассчитать общее количество дней отсутствия в отчетном периоде. В файле в столбцах A:I указаны все периоды отсутствия сотрудников (отпуска, больничные), при этом по одному и тому же сотруднику каждый период отсутствия указывается в отдельной строке. Во время отпуска может быть отзыв из отпуска: например сотрудник должен быть в отпуске 10 дней, но по договоренности с работодателем его вызвали на несколько дней на работу, дни отзыва из отпуска обозначены в столбцах F:H. В столбцах K:N указывается отчетный период, в рамках которого нужно рассчитать общее количество дней отсутствия. Итоговый результат указывается в столбце Q (я вручную указал количество дней отсутствия в отчетном периоде по сотрудникам). Как можно рассчитать этот результат в столбце Q? Главная сложность для меня состоит в том, что информацию нужно получить по одному сотруднику из нескольких строк...
Здравствуйте! Очень прошу вашей помощи по следующей задаче: - есть excel-файл формата csv, который через API мне нужно загружать в специальное ПО. Через VBA мне нужно получить токен аутентификации и затем загрузить файл. Разработчики мне прислали информацию (ниже указал), чтобы прописать это в VBA, но я с такими запросами не работал и возникли сложности: 1) Нужно получить токен аутентификации POST запрос
2) Чтобы загрузить файл нужно использовать другое API http://test.ru/index.html Для загрузки файла нужен еще один POST запрос, в котором передается токен и файл "http://test.ru/uploadDiscountData" -H "accept: */*" -H "Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJ1c2VyRGF0YSI6eyJsb2dpbiI6InJ" -H "Content-Type: multipart/form-data" -F "file=@PL.csv;type=text/csv"
Я попробовал для 1-го пункта прописать запрос (поискал на форумах), но не вышло. Выдает ошибку: base64encode sub or function not defined Если задача очень сложная, то кто сможет помочь на платной основе?
Здравствуйте! Просьба помочь в вопросе расширенного фильтра. Есть таблица со структурой сотрудников, которую я хочу обработать расширенным фильтром и исключить из нее некоторые значения, которые содержат фразы (я их выделил в условиях ровным счетом так, как на форумах нашел). Но если я прописываю несколько условий, то они не срабатывают, а вот если по одному несколько раз запускаю, то срабатывает. Можно ли как-то с первого раза все условия учесть? Пример условий прилагаю Спасибо.
Здравствуйте! Просьба помочь со следующим вопросом: необходимо автозаполнением протянуть диапазон E5:J5 до последней заполненной строки в столбце B. Макрорекодер записывает конкретный диапазон автозаполнения, а диапазон E5:J5 динамический, в будущем это может быть любая ячейка в столбце E и J. То есть нужно макросом протянуть последнюю заполненную строку в столбцах E:J до последней заполненной строки в столбце B. В интернете много разных примеров, в том числе на планете эксель, но конкретно решения под мой запрос я не нашел, а в VBA не силен...
Здравствуйте! Мне необходимо подтянуть коэффициент по 2-м условиям, но при этом оба условия должны быть приближенными, а не точными. Поэтому сделать ключ и тянуть по 2-м условиям ВПР-ом не получилось. Соответственно, ИНДЕКС+ПОИСК массивом по 2-м условиям из-за необходимости поиска приближенного, а не точного значения не получилось подтянуть. Есть ли иной способ? Прилагаю файл, в котором: - в столбце D должен быть итоговый результат по формуле (я указал верные цифрами), который должен подтягивать по 2-м условиям: "Объем на начало периода" и "Прирост" - в столбцах G и I шкала к этим 2-м условиям, а в столбце J - результат (зеленым я выделил результаты, которые должны подтянуться в столбец D).
Добрый вечер! Не могу понять, в чем моя ошибка. Мне необходимо получить средний возраст сотрудников в разрезе по каждому ответу, то ее какой средний возраст сотрудников, которые выбрали конкретный ответ. На листе1 выделил желтым, формула некорректно работает. Просьба подсказать, что я делаю не так и, по возможности, подскажите правильное решение.
Мне нужна помощь в корректировки формулы в VBA. Она у меня написана правильно:
Но, при автозаполнении формулы вниз, неизменным остается значение, которое берется из ячейки Y3 (в формуле в VBA: [y3]) . Как корректно заменить y3, чтобы ссылка на эту ячейку стало не абсолютной, а относительной ссылкой и при автозаполнении менялась на y4, y5 и т.д.? Пробовал через R1C1 прописать - не получилось.
Но, при автозаполнении формулы вниз, неизменным остается значение, которое берется из ячейки Y3 (в формуле: [y3]) . Я тяну информацию по цифровому коду. Как мне прописать, чтобы при автозаполнении изменялось значение? То есть y4, y5 и т.д.? Пробовал через offset (OFFSET(RC,0,23), где вставляю формулу на 23 столбца левее, чем находится код в столбце Y, но не срабатывает, может неверно прописываю...
Здравствуйте! В столбце А указаны департаменты, начиная со 2-й строки. Выделены они жирным черным цветом, при этом есть еще бесцветные якобы в пустых ячейках после названия департамента. В столбце B указаны отделы, начиная со 2-й строки. Выделены обычным жирным цветом. В столбец С нужно с сохранением форматом подтянуть названия департаментов, а под ними через тире названия отделов. Я формулу прописал, но формат отделов при протягивании формулы, само собой, сбивается на жирный, приходится вручную менять. Можно ли как-то обыграть это макросом? Файл прилагаю. В столбце указано то, как должно получиться.
Добрый день! Просьба помочь в следующем вопросе: через функцию ГИПЕРССЫЛКА я хочу обратиться к конкуретному листу через VBA, гиперссылка динамическая, будет меняться постоянно и, следовательно, будет обращаться к разным листам. Прописал примерно так, напрямую если переходить, то все работает:
Добрый день! Просьба помочь выделить одновременно диапазон ячеек в 3-х столбцах со 2-й строки и до конца таблицы через VBA. Я попытался это сделать - неудачно...
Добрый вечер! Очень прошу помощи по следующему вопросу:
Суть следующая: на листе ""СВОДНАЯ ИНФОРМАЦИЯ"" по каждому сотрудника имеется помесячно % эфффективности. Мне необходимо подтянуть сюда эффективность к каждому из 3-х этапов от указанной в столбце R даты. Т.е. если на листе ""СВОДНАЯ ИНФОРМАЦИЯ"" эффективность по конкретному сотруднику указана в том числе и до указанной даты в столбце R текущего листа, то необходимо брать первую цифру эффективности от указанной даты и подтягивать в столбец AV (у меня формула имеется, но она довольно-таки длинная, но при этом работает не совсем корректно). Примером некорректной работы формулы является то, что она просматривает максимум 3 месяца от указанной даты, а нужно просматривать 6 месяцев (пример ID 148331, где в ячейку AV должен был подтянуться 83.3%, что соответствует 6-му месяцу от начала периода Марту, а уже в ячейках AZ и BD должны быть 0%, т.к. это 7-й и 8-й месяцы, а мы их не берем). Я могу формулу в 2 раза удлинить, но может есть вариант написания попроще? В столбец AZ и BD подтягиваем эффективность на 1 мес. позже, я это сделал через функцию СМЕЩ. В столбцы AT, AX и BB дату эффективности я не смог подтянуть, не получилось...
Резюмируя: 1) прошу помочь исправить формулу в столбцах AV, AZ и BD, которая бы учитывала самую первую цифру по эффективности от начальной даты в столбце R и далее 2-й и 3-й этапы с шагом в 1 месяц, но не более 6 месяцев от начальной даты. 2) прошу помочь подтянуть месяц указанной эффективности.
Добрый день! Имеется выгрузка по приходу-уходу сотрудников, и из нее мне необходимо получить среднее отработанное время по каждому сотруднику (детально расписал в файле). Синие столбца - это мои мысли, как это примерно должно выглядеть в 2 этапа расчетов. Но построить такого плана сводные, либо расчет... не получается. Пробовал через расширенный фильтр, тоже в тупике оказался..
Очень надеюсь на помощь, либо подсказки, как это решить.
Возникла следующая проблема. Я написал макрос, который вставляет в ячейку формулу путем VBA (делаю это макросом, поскольку у меня таких формул несколько и файл будет тяжелым, если они будут по умолчанию, а так макрос вставляет формулы и меняю затем их на значение).
Вставляю формулу, затем перевожу ее в формат даты и меняю на значение. Поскольку используется функция СЦЕПИТЬ, то внутри формулы другие функции распознаются как текст, на русском языке. Возможно ли это как-то обойти? У кого-то из коллег стоит русская версия Excel, а у кого-то английская, необходимо, чтобы работало в обеих версиях.
Добрый день! У меня возникла необходимость выцепить необходимые данные из таблицы методом расширенного фильтра. Исходные данные хранятся в одном файле, а готовые данные после обработки расширенным фильтром в другом.
Мой код выглядит следующим образом:
Код
ActiveWorkbook.RemovePersonalInformation = 0
ActiveWorkbook.Worksheets("Ссылки").Activate
NewFilePath1 = Range("F9").value ' в этой ячейке ссылка на файл с исходными данными
On Error Resume Next
Workbooks.Open filename:= _
NewFilePath1, UpdateLinks:=False
On Error GoTo 0
Windows("Финальный файл.xlsm").Activate
Sheets("ИТОГО").Select
Range("I2").Select
Workbooks("Исходный файл.xls").Sheets("Sheet1").Range( _
"A5:G30358").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
"A2:G6"), CopyToRange:=Range("I2:O2"), Unique:=False
Я бы хотел заменить код по расширенному фильтру примерно на следующий:
Т.е. я не хочу привязываться к названию исходного файла в самом коде, можно ли его обозначить в виде переменной в расширенном фильтре, как и порядковый номер листа и исходный диапазон?
Мне выдает ошибку "application defined or object defined error 1004"
Добрый день! У меня возник следующий вопрос: в 12 столбцах имеется формула в виде массива во 2-й строке, т.е. массив присутствует в 12 ячейках. Задача: автозаполнением протянуть этот массив на 16 000 строк вниз автозаполнением, а затем заменить формулы массива на значения.
Из-за того, что это массив, данные обрабатываются несколько часов. Возможно ли как-то ускорить процесс? Основные процессы, которые тормозят обработку макроса, я отключил, кроме автопересчета, т.к. мне необходимо, чтобы формулы массива осуществили расчет.
Код
'Больше не обновляем страницы после каждого действия
Application.ScreenUpdating = False
'Отключаем события
Application.EnableEvents = False
'Не отображаем границы ячеек
If Workbooks.Count Then
ActiveWorkbook.ActiveSheet.DisplayPageBreaks = False
End If
'Отключаем статусную строку
Application.DisplayStatusBar = False
'Отключаем сообщения Excel
Application.DisplayAlerts = False
'Расчёты переводим в ручной режим
Application.Calculation = xlCalculationManual
Возможно ли как-то расчет осуществить не автопересчетом, а в VBA?
Добрый день! Просьба помочь с формулой СУММЕСЛИМН. В ячейках Q3:Q7 прописана формула, которая на основании ID сотрудника и месяца подтягиваем сумму премии поквартально. Исключением должен стать тот случай, если сотрудник не принимал участия в премировании. В данном примере видно, что сотрудник получил премию в марте 2018 года, больше никаких данных нет. Мне необходимо, чтобы по остальным месяцам в диапазоне Q3:Q7, кроме марта, была пустота. По всем месяцам так и есть, т.к. они не равны 3, 6, 9 и 12 (это условие прописано в формуле), а вот месяц декабрь равен 12, то есть рассчет осуществляется по формуле через СУММЕСЛИМН. Но она возвращает 0, а не пустоту, хотя в декабре никаких данных нет. Как прописать пустоту в этой функции (см. ячейку Q4)?
Добрый день! Просьба оказать помощь в выполнении следующего задания: - имеется общий файл "СВОДНЫЙ", в котором в столбце A указаны комментарии, в столбце B категории, к которым относятся данные комментарии. - имеются исходные файлы, которые находятся в этой же папке и внутри папки есть еще одна папка с вложенными файлами, имена у исходных файлов обычно в виде ФИО, но могут быть и по-другому называться. В исходных файлах также имеются комментарии и категории в столбцах A и B; - необходимо в СВОДНЫЙ файл в столбец C по комментарию подтянуть название исходного файла, где имеется такой же комментарий. В случае совпадения одного и того же комментария в нескольких файлах необходимо взять название первого файла, в котором попался комментарий.
Здравствуйте! Просьба помочь с заполнением таблицы A4:B16, где необходимо подтянуть информацию с суммами за полгода из исходной таблицы (J1:U2), в зависимости от указанной даты в ячейке B2.
Если дата указана до 30-го числа, то необходимо взять данные по суммам за полгода, где последним месяцем будет предыдущий месяц от указанной даты, то есть октябрь. Если дата 30 или 31 (февраль 28 и 29), то последним месяцем будет являться месяц указанной даты, то есть ноябрь.
Здравствуйте! Имеется исходная таблица (столбцы A:E), а также условия (J1:K4) для формулы, расположенной в диапазоне K7:K14. Из-за формата даты (получаемой в столбце E по формуле), формула СЧЁТЕСЛИМН не работает. Понятное дело, что проще месяц вставить в виде числа в столбце E, и тогда все заработает, то формат в столбце E изменять нельзя. Пробовал изменить формат условий в ячейках K3 и K4 на ММ.ГГГГ, не помогло...
Здравствуйте! Имеется таблица, в которой в столбцах A:E есть более 300 универсальных структурных подразделений. В столбцах Q:R указаны 50 уникальных должностей. Задача стоит следующая: в каждом структурном подразделении прописать 50 должностей. Во вложенном файле имеется обычный макрос, записанный макрорекодером, чтобы была понятно логика действий, которая требуется. Можно ли тут каким-то повторяющимся циклом решить данную задачу?
Добрый день! Просьба помочь исправить массив по определению ТОП 10 сотрудников по продажам в рамках каждой из 10 групп. Суть следующая: - имеется список сотрудников, и они разбиты на 10 групп. Необходимо определить победителей в каждой группе, их может быть не более 10% в рамках группы.
Минимальные критерии для участия в конкурсе: - удовлетворенность клиента должна быть больше или равна 75% (столбец B); - бюджет отделения должен быть больше или равен 120% (столбец C)
Важно: Если минимальные критерии не выполнены, то сотрудник не участвует в конкурсе.
Если минимальные критерии выполнены, то далее определяем 10% лучших сотрудников по показателю % выполнения продаж - у кого больше.
Указанный в файле массив прекрасно работает, однако он не учитывает одно: если минимальные критерии выполнены и % выполнения продаж в рамках одной группы одинаковый по лучшим сотрудникам, то массив учитывает всех таких. Так быть не должно. Нужно учесть дополнительное условие: если минимальные критерии выполнены и среди 10% лучших сотрудников в рамках одной группы есть такие, у которых % выполнения продаж одинаковый, то в этом случае мы смотрим на столбец C - у кого из таких сотрудников больше бюджет отделения.
Можно ли данное доп. условие прописать в массиве? Справа для справки я указал то, что должно получиться в результате.
Здравствуйте! Просьба помочь подтянуть текстовое значения из 1-й строки: Если в 3-й строке указано минимальное значение, то оно тянется в столбец B. Важно, если минимальное значение повторяется в 3-й строке, то в этом случае в столбец C необходимо указать комментарий: "Повторение". Буду очень признателен!
Добрый день! Не могли бы Вы подсказать, можно ли подтягивать данные из исходной таблице не только помесячно, как сделано в прилагаемом мной файле, а также за 2, 3, 4 и т.д. месяца. К примеру, мне необходимо посмотреть информацию за 4 и 5 месяца суммарно, либо за 6-8 месяца. Возможно ли это? Если нет, то хотя бы поквартально (1 квартал, 2 квартал, 3 квартал, 4 квартал). Спасибо.
Здравствуйте! Просьба помочь с доработкой макросапо разбивке общего файла на отдельные книги. В общем файле имеются 3 листа, в каждом из которых ОДИНАКОВОЕ кол-во сотрудников в столбце А, макрос создает новые книги по следующему критерию: - создаются отдельные файлы на каждого сотрудника (сотрудники в столбце A). То есть на Иванова Ивана Ивановича отдельный файл, где имеются данные только по нему на всех 3-х листах, по Петрову Петру Петровичу также отдельный файл и т.д. Названия новых файлов получаются следующими: unused vacation_Иванов И.И. , unused vacation_Петров П.П.
Если в столбце A вместо ФИО стоит тире, то макрос игнорирует эти строки.
Однако макрос неверно обрабатывает файлы, где указано не ФИО, а имя и фамилия, либо просто имя, а после идет признак. В файле это: Сергеев Сергей_assistent и Сергеев_assistent . Сергеев Сергей_assistent макрос сохраняет в вышеуказанном в списке ФИО, в данном случае в Андреев Андрей Андреевич_assistent.
Как я понимаю, ошибки связана с количеством пробелов в массиве:
Код
ArrTmp = Split(Manager)
If Manager <> "-" Then
If Manager Like "*_*" Then
StringAfter = "_" & Split(ArrTmp(2), "_")(1)
Else
StringAfter = ""
End If
End If
NewName = ArrTmp(0) & " " & Left(ArrTmp(1), 1) & "." & Left(ArrTmp(2), 1) & "." & StringAfter
ActiveWorkbook.SaveAs Filename:=sPath & StringPrefix & NewName & ".xlsx", FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False
ActiveWorkbook.Close
Огромная просьба помочь исправить код.
P.S. Во вложении есть 2 файла: - Тестовый файл-1, это который некорректно работает. - Тестовый файл-2, он работает корректно, так как там отсутствуют Сергеев Сергей_assistent и Сергеев_assistent .
Здравствуйте! Просьба помочь вот в каком вопросе. Есть список клиентов, которые подают заявку на решение вопроса. Задача - прописать формулу, которая будет проставлять комментарий в столбце E "Учитываем" или "Удаляем" по следующим условиям: - если клиент подал заявку 1 раз, то есть в ФИО Клиента в столбце C встречается один раз, то в столбце E всегда ставим комментарий "Учитываем" (в примере это Иванов и Алексеев); - если клиент подал заявку более 1 раза, то есть ФИО Клиента в столбце C встречается несколько раз, то проставляем комментарий "Учитываем" в столбце E в том случае, если в столбце D стоит дата (в примере это Петров и Дмитриев. Если же ФИО Клиента повторяется несколько раз и отсутствует дата в столбце D, то комментарий "Учитываем" проставляем по последней дате заведения заявки в столбце A (в примере это Андреев).
Добрый вечер! Имеется формула: =СЦЕПИТЬ("=ЕСЛИОШИБКА(ИНДЕКС(";ТЕКСТ(ДАТА(ГОД(AK1);МЕСЯЦ(AK1)-1;ДЕНЬ(AK1));"ММММ ГГГГ");"!$S:$S;ПОИСКПОЗ(J7;";ТЕКСТ(ДАТА(ГОД(AK1);МЕСЯЦ(AK1)-1;ДЕНЬ(AK1));"ММММ ГГГГ");"!$J:$J;0);0))")
Я хочу преобразовать ее в формулу следующего вида =ЕСЛИОШИБКА(ИНДЕКС(Декабрь 2016!$S:$S;ПОИСКПОЗ(J7;Декабрь 2016!$J:$J;0);0)) с помощью макроса, чтобы не делать это вручную (вставить формулу как значение, а затем в ячейке нажать мышкой и Enter).
Код
With Intersect(ActiveSheet.UsedRange, [AL7:AL7])
.NumberFormat = "0.00%"
.HorizontalAlignment = xlCenter
.FormulaLocal = .FormulaLocal
End With
На этапе
Код
.FormulaLocal = .FormulaLocal
выдает ошибку application-defined or object-defined error. Что не так? Ранее я так всегда формулу "оживлял", сейчас ошибка... Спасибо.
Добрый день! Просьба помочь найти первое ненулевое значение в таблице. Во вложении файл, выделил желтым цветом, где указаны верные значения, возможно ли их через ИНДЕКС и ПОИСКПОЗ подтянуть? Спасибо.