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

Страницы: 1
Получить список файлов в папке по условию
 
Добрый день! Имеется папка с огромным количеством файлов (от 500 000 до 4 000 000) штук, задача: получить из этой папки список файлов которые были созданы либо изменены(одно из, что проще)в период начиная С указанной даты
На текущий момент решение такое:
Код
    FileList = ThisWorkbook.path & "\list.txt"
    Dim wsh As Object
    Set wsh = VBA.CreateObject("WScript.Shell")
    cmd = "cmd /c forfiles /P C:\folder /M *.xml_s /C ""cmd /c echo @path"" /D +28.10.2022>" & FileList
    wsh.Run cmd, 1, True

НО, с определенного времени почтовый антивирус начал блокировать файл. Причиной оказался этот фрагмент (если удалить строку "wsh.Run cmd, 1, True" то у антивируса вопросы отпадают)

Собственно вновь нахожусь в поиске решения. Power Query использовать нет возможности.
Как либо повлиять на настройки антивируса почтового сервера возможностей нет.

В одном или нескольких вложениях этого сообщения электронной почты обнаружены вредоносные программы.
Действие: Все вложения удалены.
Имя_файла.xlsm O97M/LolBinAbuse!ibt
Изменено: wlad1164 - 28.10.2022 12:08:10
"Убрать" подтверждение собственного запроса к БД
 
Имеется файл Excel в котором с помощью PowerQuery выполняется запрос к БД MySQL, сам запрос "динамический" и все хорошо, НО для каждого нового запроса Excel запрашивает подтверждение


Собственно вопрос: Возможно ли отключить эту проверку? Подавить уведомление? Вообщем выполнить загрузку без участия пользователя и каких либо действий с его стороны.
В параметрах безопасности не нашел ничего подходящего...

Цитата
Если вы впервые подключаетесь к этому серверу, появится запрос на выбор режима проверки подлинности для подключения к базе данных. Выберите соответствующий режим проверки подлинности и продолжайте работу.
https://learn.microsoft.com/ru-ru/power-query/native-database-query

Под "динамическим" запросом я подразумеваю то что условия Where в нем зависят от значений в ячейках листа.
Изменено: wlad1164 - 29.09.2022 16:56:48
Алгоритм для установления связи "Многие-ко-многим"
 
Добрый день!
Имеется 2 таблицы, необходимо установить однозначную связь используя свойство "Оборот"  и Наименование товара

Пример набросан из головы, выглядит примерно как:
Имеется выгрузка, в которой указано какое количество какого товара было отгружено с каждого склада суммарно на все посты и окна.
Так же имеется выгрузка, в которой известно с какого поста, через какое окно и в каком количестве  товар был выдан клиенту.

Необходимо во второй таблице определить с какого склада это окно выдавало товар?
*Каждое окно каждого поста может выдавать товар только с одного склада.

В голову приходит мысль:
1. Для каждого товара выбрать все склады с ним (например Товар-Л, это склады 1 и 2)
2. Для каждого товара выбрать все окна через которые он выдавался (пост-окно: 5-4, 6-4, 9-1, 9,2, 11-1)
3. Получить N количество сумм (получается 31 значение(вроде бы))
4. Находим для каждого значения номер склада и возвращаем его

Повторить для каждого продукта до тех пор пока не получится ситуация в которой все окна распределены между складами.
Ну это в теории... Может быть есть более легкий алгоритм? буду рад любым идеям.

*Количества окон может иногда быть до 9, а это уже 500+ вариантов сумм (опять же, если я правильно предположил)
Аналог GoalSeek для Pivot, GoalSeek, Pover Pivot, DAX
 
Добрый день, вопрос скорее к знатокам.
Как в Pover Pivot реализовать функцию Excel  GoalSeek?
Скрытый текст

Имеем значение1, значение2, формулуGS:
Цитата
=F3*EXP(-(346,42278/(F3^2)+0,43884/F3)*(B3-15)*(1+0,8*(346,42278/(F3^2)+0,43884/F3)*(B3-15)))
Как реализовать аналогичное для языка DAX?
Пример во вложении.
Подписи категорий данных сводной таблицы
 
Доброго времени суток, имеется модель данных по которой строится сводный график
И все с ним хорошо, но в стиле на графике нужно убрать подписи для третьей ("нижней") строки, в примере: Категории=>ДатаС

Сейчас так:
Скрытый текст

Нужно вот так:

Скрытый текст

При необходимости подготовлю пример файла...

Настройки стиля категорий просмотрел, кроме опции "Многоуровневые подписи категорий" ничего не обнаружил (возможно не туда смотрел)
Но как скрыть отображение одного из уровня не выключая его не нашел
Изменено: wlad1164 - 16.02.2021 23:24:05
Оптимизация (сокращение кода) VBA
 
Добрый день!
Наверное не правильно подобрал название темы, суть вопроса:
имеется Userform в которой расположено 16 TextBox "р_ПкмВx" (x=0-15) при изменении любого из них необходимо вызывать макрос "ИзменениеРасстояний"
В данный момент это написано вот так
Код
Private Sub р_ПкмВ0_Change()
    ИзменениеРасстояний
End Sub
Private Sub р_ПкмВ1_Change()
    ИзменениеРасстояний
End Sub
Private Sub р_ПкмВ2_Change()
    ИзменениеРасстояний
End Sub
Private Sub р_ПкмВ3_Change()
    ИзменениеРасстояний
End Sub
Private Sub р_ПкмВ4_Change()
    ИзменениеРасстояний
End Sub
Private Sub р_ПкмВ5_Change()
    ИзменениеРасстояний
End Sub
Private Sub р_ПкмВ6_Change()
    ИзменениеРасстояний
End Sub
Private Sub р_ПкмВ7_Change()
    ИзменениеРасстояний
End Sub
Private Sub р_ПкмВ8_Change()
    ИзменениеРасстояний
End Sub
Private Sub р_ПкмВ9_Change()
    ИзменениеРасстояний
End Sub
Private Sub р_ПкмВ10_Change()
    ИзменениеРасстояний
End Sub
Private Sub р_ПкмВ11_Change()
    ИзменениеРасстояний
End Sub
Private Sub р_ПкмВ12_Change()
    ИзменениеРасстояний
End Sub
Private Sub р_ПкмВ13_Change()
    ИзменениеРасстояний
End Sub
Private Sub р_ПкмВ14_Change()
    ИзменениеРасстояний
End Sub
Private Sub р_ПкмВ15_Change()
    ИзменениеРасстояний
End Sub
Вопрос, возможно ли как то "упростить","урезать","сжать" этот код?

Интересуюсь в целях общего развития, может есть способ что то вроде
Код
Private Sub р_ПкмВ0_Change() or р_ПкмВ1_Change() or р_ПкмВ2_Change() or .....
    ИзменениеРасстояний
End Sub
P.s. файл примера не прикладываю т.к. в нем совершенно нет смысла)))
Закрыть текущую книгу и открыть другую макросом
 
Добрый вечер, в голову пришла дурная идея:
возможно ли макросом текущей книги закрыть её и открыть другую?

В наличии имеется:
1.Книга1 с макросом
2.Книга2 (с другими макросами/данными/измененными макросами из Книга1)

Суть задачи: при открытии Книга1 макрос проверяет "актуальность файла" и в случае, когда эту проверку не проходит получает полный путь Книга2
Задача для макроса в Книга1- закрыть текущую книгу без сохранения, открыть Книга2, бесследно исчезнуть)

Глупый вопрос: при закрытии книги макрос ведь тоже выгружается? (ДА) или есть триггер "после закрытия книги" ?
соответственно нужно сначала нужно открыть новую (Книга2) и затем закрыть текущую (Книга1), но при отктытии Книга2 начнут выполняться макросы из Книга2, как обойти этот момент?

И второй вопрос: при одновременно открытых нескольких книгах, как обращаться к необходимой? (в наличии имеется полный путь каждой из книг) спасибо Казанский
Изменено: wlad1164 - 04.03.2019 21:33:45
Обращение к элементам формы из цикла
 
Добрый день!
Подскажите пожалуйста, имеется форма, на которой расположено 15 ComboBox
Имена полей CB1,CB2,CB3......CB15

Можно ли получить их значения циклом?
A2=CB1
A3=CB2
...
A16=CB15

Что то вроде
For Val=1 To 15
Sheets("Лист1").Range("A" & Val + 1) = Form1.<=Переменная=>.Value
Next

Как оформить код в месте выделенном жирным?
Как составить и решить линейное уравнение в Excel
 
Помогите составить формулу для вычисления
В зеленой ячейке нужно получить число, на которое нужно увеличить(или уменьшить) положительно в оранжевой ячейке, чтобы процент в столбце стало был равен проценту в столбце было (красные ячейки)

Соответственно изменяя числа в оранжевой или желтой ячейке, получать это число
Изменено: wlad1164 - 12.01.2018 22:42:06
Сложный динамический список из двух таблиц по условим
 
Доброй ночи!
Подскажите, как реализовать нечто подобное и вообще, возможно ли?

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

в кратце, нужно выводить список (жестко заданное число строк, в примере 22) который будет если можно так сказать одновременно начинаться:
список1=>снизу=макс значние-1 и т.д.
список2=>сверху=список отсутствующих значений в таблице исключая значения из списка 1

Простите за то что не могу четко сформулировать то что нужно....
***
На Лист1 ничего изменять нельзя
Все должно остаться работоспособным при добавлении/удалении строк из таблицы на Лист1
Крайне желательно это все сделать формулой
На лист2 (или доп листе) можно создавать промежуточные столбцы/таблицы
Изменено: wlad1164 - 23.12.2017 00:10:17
Поиск значений из таблицы, которые соответствуют условиям заданным в ячейках
 
Добрый день! Прошу помощи с созданием формулы поиска

Имеется Лист-1 (на нем все данные)
Лист-2 то куда эти данные должны добавляться

В примере:
ячейки выделенные фиолетовым - данные на основании которых нужно искать значение на Лист1
ячейки выделенные оранжевым - то где эти данные нужно получить
ячейки выделенные зеленым -пример того что должно получится

Самое простое что пришло в голову это на Лист1 добавить столбец (сцепить B1+F1) и на Лист2 через ИНДЕКС/ПОИСКПОЗ получать нужные значения, но хотелось бы обойтись без добавления этого столбца.
К сожалению с формулами массива не очень дружу...
Получить данные с XML страницы, с множеством однотипных параметров
 
Доброго времени суток.
Необходимо в VBA получить данные полученные GET запросом в виде XML страницы, и присвоить переменным их значения. почитав форум сделал "нечно"
Код
Sub test()
ID = 258
Set HTTP = CreateObject("MSXML2.XMLHTTP")
APIkey = "254BAC06-***часть_ключа_скрыта***-572F8605A51C"
sURL1 = "http://***часть_ссылки_скрыта***api/request/" & ID & "?OPERATION_NAME=GET_REQUEST&TECHNICIAN_KEY=" & APIkey
HTTP.Open "GET", sURL1, True
HTTP.Send

otvet = HTTP.responseText
'MsgBox (otvet)


Do While HTTP.readyState <> 4
    DoEvents
Loop
   Set xmlDoc = HTTP.responseXML
   
ID = xmlDoc.SelectSingleNode("//Details/parameter/value").Text
Requester = xmlDoc.SelectSingleNode("//Details/parameter/value").Text
    MsgBox ("ИД:" & ID & "  Заявитель " & Requester)

End Sub

Макрос отрабатывает верно, за исключением присвоения переменным нужных значений (не знаю как правильно задать)
Фрагмент отдаваемого XML:
Код
<Details>
<parameter>
   <name>workorderid</name>
   <value>258</value>
</parameter>

<parameter>
   <name>requester</name>
   <value>Name</value>
</parameter>

<parameter>
   <name>createdtime</name>
   <value>1508744421776</value>
</parameter>

<parameter>
   <name>duebytime</name>
   <value>-1</value>
</parameter>

<parameter>
   <name>responseduebytime</name>
   <value>-1</value>
</parameter>

Сейчас:
  ID = 258
  Requester = 258

Хотелось бы получить:
  ID = 258
  Requester = Name
  и так далее для остальных значений

Файл приложить не могу, т.к. его просто нет)
Буду благодарен за любую помощь
Изменено: wlad1164 - 31.10.2017 00:07:27
[ Закрыто] Парсинг по ключевым словам внутри VBA
 
в VBA имеем переменную

zayavka ="Фамилия Имя, вам назначена заявка № 169
Заявитель : АЗК-34
Создал: ФамилияИмя
Дата создания: 13.10.2017 10:36
Тема: Не работает отсекатель
Описание : ТРК-3 (Аи-95)
Для просмотра подробных сведений перейдите по ссылке ссылка удалена [МОДЕРАТОР]

Шаблон всех таких ячеек всегда одинаков, меняются только значения


Нужно эту переменную разбить на несколько, чтобы получить переменные
Technician=Фамилия Имя
ID=169
Autor=АЗК-34
Date=13.10.2017 10:36
Theme=Не работает отсекатель
Description=ТРК-3 (Аи-95)
Обновление данных из web-запроса
 
Доброго времени суток, имеется такая проблема:
Есть небольшой макрос
Код
Application.ScreenUpdating = False
Sheets("лист2").Visible = True
    Sheets("Лист2").Range("G6").Select
    Selection.ListObject.QueryTable.Refresh BackgroundQuery:=False
Sheets("Лист1").Select
Sheets("Лист2").Visible = False
Application.ScreenUpdating = True
Суть данного макроса в том чтобы показать скрытый лист, на котором находится таблица с данными из web запроса, обновить их и скрыть данный лист, оставшись на листе1

Если выполнять макрос из редактора по F8 (шаг за шагом) то все проходит гладко, если же выполнять нажатием "старт" то после этапа обновления запроса что то идет не так...

Ощущение что это из-за того что макрос продолжает работу не дождавшись обновления дынных, пытался ставить паузу через Application.Wait но все ровно беда...

Вобщем задача:
1. отобразить скрытый лист
2. обновить данные в таблице (путем web запроса) или другим способом (данные находятся в таблице на сайте)
3. скрыть этот лист
4. продолжить работу макроса

MS Excel 2016 , может в нем беда?
Проверка по нескольким условиям или как заставить ВПР искать после первого найденного значения
 
В целом, в H1 нужно получить ответ, "Да" либо "Нет", ответ "Нет" должен быть если заявок нет вообще, либо они все выполненны (в столбце D надпись "готово"), значение "Да" должно быть если напростив всех или одной из всех заявок не написанно "готово" (либо просто пустое поле)
Все таблицы связанны между собой по номеру объекта

Нужно придумать решения без использования макросов.
Под скрепкой пример с описанием, ну и конкретно где спотыкается ВПР (ячейка H5 )
Изменено: wlad1164 - 19.05.2016 20:47:54
Страницы: 1
Loading...