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

Страницы: 1 2 След.
Удаление гиперссылок не затрагивая формат ячейки, Помогите подправить макрос
 
Есть метод Range.ClearHyperlinks, но он сохраняет цвет ссылки и подчеркивание.

Вот так:
Код
Sub VBA_Clear_Hyperlinks_Range()
    Set cell = ThisWorkbook.Sheets("Лист1").Range("A1")

    With cell.Font
        .Underline = xlUnderlineStyleNone
        .Color = fontColor
    End With

    cell.ClearHyperlinks
End Sub
Изменено: bugser - 28.06.2025 00:16:58
Быстрая загрузка запроса в Power Query
 
Что по итогу? Кто-нибудь прояснит что конкретно дает эта галочка?
Выгрузка результата запроса PowerQuery во внешний файл, В режиме "только подключение" и при превышении максимальной длины строки в ячейке
 
Спасибо за ответы.
Дмитрий(The_Prist) Щербаков, да, можно разбивать по количеству символов, но запрос PQ и так очень трудоемок для компьютера и предполагаю, что добавление шага разбивки по количеству символов еще больше усугубит ситуацию. Если решения такого нет, то придется сделать именно так.

AlienSx, это требует установки дополнительного софта. Не приемлимо в моем случае.
Выгрузка результата запроса PowerQuery во внешний файл, В режиме "только подключение" и при превышении максимальной длины строки в ячейке
 
Sanja, да, с PowerQuery вопросов нет. Он действительно содержит полный результат запроса (длинную текстовую строку).
При выгрузке этого запроса на лист Excel (Лист1) длина ограничивается до 32767 символов в одной ячейке, а остальная часть обрезается.

Технические характеристики и ограничения Excel

Поэтому хотелось бы выгружать полный результат запроса (без открытия самого запроса PQ) во внешний файл.
Для примера файл. Результат запроса содержит больше 33000 символов, а в ячейке их меньше.
Выгрузка результата запроса PowerQuery во внешний файл, В режиме "только подключение" и при превышении максимальной длины строки в ячейке
 
Запроса PowerQuery, который содержит только текстовую строку превышающую максимальную длину строки в ячейке Excel.
При выгрузке на лист Excel обрезает результат запроса.

Возможно ли выгрузить "полный" результат запроса в .txt файл без выгрузки запроса на лист?
Варианты с разбивкой текста по количествую символов не интересует.
Открытие письма Outlook в файле Excel гиперссылкой.
 
БМВ, а что если использовать Exchange.Contents в PQ Excel? Там вроде содержатся данные письма в бинарном виде. Нельзя ли из этой информации сформировать ссылку на письмо из Outlook?
PQ. Web-парсинг. POST запросы.
 
kush.near,
Код
let
    Источник = Json.Document(Web.Contents("https://alfazdrav.ru/api/prices/tabs/?regionId=779")),
    tabs = Источник[tabs],
    #"Преобразовано в таблицу" = Record.ToTable(tabs),
    #"Развернутый элемент Value" = Table.ExpandRecordColumn(#"Преобразовано в таблицу", "Value", {"id", "title", "active", "content"}, {"id", "title", "active", "content"}),
    #"Развернутый элемент content" = Table.ExpandRecordColumn(#"Развернутый элемент Value", "content", {"435", "436", "437", "438", "439", "440", "441", "442", "443", "444", "445", "446", "447", "448", "449", "494", "450", "451", "588", "452", "453", "499", "1005", "454", "455", "456", "457", "458", "491", "459", "460", "496", "461", "462", "498", "463", "464", "465", "466", "467", "468", "469", "470", "471", "472", "473", "474", "475", "492", "614", "493", "476", "477", "478", "479", "480", "481", "482", "483", "620", "495", "484", "485", "486", "487", "488", "489", "500", "490", "497", "501", "502", "503", "504", "505", "506", "507", "508", "518", "509", "510", "511", "512", "513", "514", "547", "515", "516", "517", "519", "548", "549", "520", "551", "554", "521", "522", "523", "524", "525", "526", "527", "550", "528", "529", "744", "530", "531", "532", "533", "552", "553", "534", "535", "536", "537", "538", "539", "540", "615", "541", "542", "543", "544", "545", "546", "555", "621", "556", "563", "562", "557", "558", "559", "560", "561", "564", "575", "576", "565", "566", "567", "1004", "568", "569", "570", "571", "572", "573", "574", "577"}, {"435", "436", "437", "438", "439", "440", "441", "442", "443", "444", "445", "446", "447", "448", "449", "494", "450", "451", "588", "452", "453", "499", "1005", "454", "455", "456", "457", "458", "491", "459", "460", "496", "461", "462", "498", "463", "464", "465", "466", "467", "468", "469", "470", "471", "472", "473", "474", "475", "492", "614", "493", "476", "477", "478", "479", "480", "481", "482", "483", "620", "495", "484", "485", "486", "487", "488", "489", "500", "490", "497", "501", "502", "503", "504", "505", "506", "507", "508", "518", "509", "510", "511", "512", "513", "514", "547", "515", "516", "517", "519", "548", "549", "520", "551", "554", "521", "522", "523", "524", "525", "526", "527", "550", "528", "529", "744", "530", "531", "532", "533", "552", "553", "534", "535", "536", "537", "538", "539", "540", "615", "541", "542", "543", "544", "545", "546", "555", "621", "556", "563", "562", "557", "558", "559", "560", "561", "564", "575", "576", "565", "566", "567", "1004", "568", "569", "570", "571", "572", "573", "574", "577"}),
    #"Отменено свертывание только для выбранных столбцов" = Table.Unpivot(#"Развернутый элемент content", {"435", "436", "437", "438", "439", "440", "441", "442", "443", "444", "445", "446", "447", "448", "449", "494", "450", "451", "588", "452", "453", "499", "1005", "454", "455", "456", "457", "458", "491", "459", "460", "496", "461", "462", "498", "463", "464", "465", "466", "467", "468", "469", "470", "471", "472", "473", "474", "475", "492", "614", "493", "476", "477", "478", "479", "480", "481", "482", "483", "620", "495", "484", "485", "486", "487", "488", "489", "500", "490", "497", "501", "502", "503", "504", "505", "506", "507", "508", "518", "509", "510", "511", "512", "513", "514", "547", "515", "516", "517", "519", "548", "549", "520", "551", "554", "521", "522", "523", "524", "525", "526", "527", "550", "528", "529", "744", "530", "531", "532", "533", "552", "553", "534", "535", "536", "537", "538", "539", "540", "615", "541", "542", "543", "544", "545", "546", "555", "621", "556", "563", "562", "557", "558", "559", "560", "561", "564", "575", "576", "565", "566", "567", "1004", "568", "569", "570", "571", "572", "573", "574", "577"}, "Атрибут", "Значение"),
    #"Развернутый элемент Значение" = Table.ExpandRecordColumn(#"Отменено свертывание только для выбранных столбцов", "Значение", {"id", "title", "items", "show", "active"}, {"id.1", "title.1", "items", "show", "active.1"}),
    #"Развернутый элемент items" = Table.ExpandListColumn(#"Развернутый элемент Значение", "items"),
    #"Развернутый элемент items1" = Table.ExpandRecordColumn(#"Развернутый элемент items", "items", {"name", "price", "active"}, {"name.1", "price", "active.2"})
in
    #"Развернутый элемент items1" 


Запрос WEB API через Power Qwery, Надо получить ответ по API в формате JSON
 
Iya-n,
date_from:
Код
= DateTime.ToText(Excel.CurrentWorkbook(){[Name="dates"]}[Content]{[Имя="account_date_from"]}[дата],"yyyy-MM-ddT00:00:00.000Z")
date_to:
Код
= DateTime.ToText(Excel.CurrentWorkbook(){[Name="dates"]}[Content]{[Имя="account_date_to"]}[дата],"yyyy-MM-ddT00:00:00.000Z") 

Итог:

Код
body = "{
  ""date"": {
           ""from"": """&date_from&""",
           ""to"": """&date_to&""",
             },
  ""posting_number"":"""",
  ""transaction_type"":""all""
    }"

MsgBox в Офис Р-7
 
bigorq, про отслеживание событий не критично. Ок.
Получаю данные по API и вставляю в диапазон на листе. В это время на листе уже создана именованная таблица.
Повторное переопределение этим кодом не работает:
Код
Api.GetActiveSheet().FormatAsTable("A1:D10")
Диапазон данных по API естественно я знаю до вставки на лист.

Я ищу способ, чтобы как в Excel Power Query при обновлении запроса, таблица изменяла диапазон динамически в зависимости от данных.
Полностью стирать весь лист и создавать каждый раз новую таблицу - не подходит.
MsgBox в Офис Р-7
 
А как изменить диапазон умной именованной таблицы?

Пример:
  1. Таблица Таблица1 с диапазоном А1:B4.
  2. Добавляю в ячейки А5 и В5 любые данные.
  3. Запустить макрос и диапазон таблицы Таблица1 должен измениться на А1:В5
Как переопределять макросом диапазон?
Имена столбцов в столбце по критерию строк (PowerQuery), Вывести имена столбцов в которых присутствуют значения отличные от null
 
Вывести имена определенных столбцов (по каждой строке) в которых присутствуют значения отличные от null через PowerQuery.

Пример:
Игнорируем Столбец1.
Изменено: bugser - 10.03.2024 10:44:41
Условное форматирование в строках на основании другого столбца, Выделить цветом всю строку по частичному совпадению с другим столбцом
 
gling, Спасибо! Это работает.
Цитата
написал:
Вам нужно что бы заливка была одна на любое совпадение со справочником или как в примере разная для каждой строки справочника?
Нет, вопрос решен. Не верно указал, цвет конечно один и тот же должен быть.
БМВ, Спасибо.

Еще вопрос. Возможно ли сделать условное форматирование для части текста в ячейке? При обновлении таблицы PQ выделенный жирным текст стирается.
Или возможность внутри PQ поставить например тэг типа #(lf), который будет выделять жирным или подчеркнутым текст в таблице.

Например:
Собака - Вагон
Вагон - Клюшка
Действие - Злой
Свинья - Вагон
Изменено: bugser - 17.11.2023 20:38:35
Условное форматирование в строках на основании другого столбца, Выделить цветом всю строку по частичному совпадению с другим столбцом
 
Удалось получить подобное:
Код
=СУММПРОИЗВ(--ЕЧИСЛО(ПОИСК($A4;$P$3:$P$4)))>0
или
=СЧЁТЕСЛИ($P$3:$P$4;"*"&$A4&"*")>0
Но это работает в "обратную" сторону.
Код
=СЧЁТЕСЛИ($A$4:$A$8;"*"&$P3&"*") - работает в ту сторону, но не подходит для условного форматирования.
Условное форматирование в строках на основании другого столбца, Выделить цветом всю строку по частичному совпадению с другим столбцом
 
Добрый вечер. Задача:
Выделить цветом все строки если значения столбца А Таблицы1 частично содержат значения (текст) столбца Б.

Получение данных вэб-запросом PQ, Двойная авторизация
 
Игорь, углубился еще. Похоже используя NTLM Windows аутентификацию и отправить POST запрос невозможно.
Сразу требуются условия API ключ или авторизация с использованием логина и пароля в коде запроса.

Буду пытаться сделать через Basic аутентификацию с использованием логина и пароля.
Получение данных вэб-запросом PQ, Двойная авторизация
 
Да, тоже пробовал. Но в описании к API сказано, что должен быть отправлен именно POST запрос, а без указания этого параметра (Content) всегда отправляется GET запрос.
Получение данных вэб-запросом PQ, Двойная авторизация
 
Это как пример. Попытки были с различными параметрами. Content=null, Content=“”. Вопрос в отправке POST запроса без использования анонимного соединения. Та же проблема что и на скриншоте выше.
Получение данных вэб-запросом PQ, Двойная авторизация
 
Ок. Начал разбираться дальше.
Получилось написать макрос Excel. Он работает, но вот с PQ Excel - проблема. Кусок макроса:
Код
Set objHTTP = CreateObject("Msxml2.XMLHTTP.6.0")
objHTTP.Open "POST", URL, False
objHTTP.Send ("")       
result = objHTTP.responseText
Результат: Bearer токен получен.

А вот для Power Query сделать аналогичные действия не получается. Попыток было много.
Код
let
url = "https://...",
options = [Headers=[#"Accept"="application/json"], Content=Text.ToBinary("")],
response = Web.Contents(url, options)
in
response
Проблема заключается в том, что PQ пишет ошибку. Якобы для POST запроса c Content доступ только при анонимных подключениях, но подключение не анонимно с самого начала. Что делать?

Аналогичная проблема и здесь: https://stackoverflow.com
Изменено: bugser - 22.06.2023 18:19:46
Условное форматирование, Выделение цветом ячеек внутри диапазона 2 и -2 каждой третьей строки
 
Что требуется:
  1. Применить условной форматирование для таблицы PQ для каждой третьей строки в которой содержится значение внутри диапазана от 2 до -2.
  2. Учесть, что если разница значений в верхних строках = 0, то условное форматирование не применяется
Подбор решения, Из заданных чисел сформировать опредленный результат (инверсия знака)
 
Alien Sphinx, спасибо. В PQ действительно еще лучше!
Удивлен что в столь короткий срок вы сделали решение и это решение бесплатное.
Подбор решения, Из заданных чисел сформировать опредленный результат (инверсия знака)
 
Требуется подобрать максимально близкое решение с применением инверсии знака у заданных чисел столбца А для получения заранее известной итоговой суммы. Т.е. должен быть просчитана перебор вариантов с определением максимально выгодного.
Возможно ли как-то решить такую задачу?

Пример прилагаю.
Подсветка текущей строки и массив, Некорректная работа макроса при использовании массива
 
Ігор Гончаренко, это действительно помогло.
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   If Target.Cells.Count > 1 Then Exit Sub
    If Application.CutCopyMode = False Then Me.Calculate
End Sub
Подсветка текущей строки и массив, Некорректная работа макроса при использовании массива
 
Ігор Гончаренко, Спасибо!
Но вот незадача, не работает копирование Ctrl + C и Ctrl + V при использовании этого макроса.
Как исправить это?
Получение данных вэб-запросом PQ, Двойная авторизация
 
Игорь, реальный сайт предоставить не могу.
Нашел статьи касающиеся этой темы:
Нужно что-то похожее:
Код
let
    Source = Web.Contents(
        "https://dwweb.ru/404.html",                            //Случайный сайт в интернете с переадресацией
        [ManualStatusHandling={404}]),
    GetMetadata = Value.Metadata(Source),
    GetResponseStatus = GetMetadata[Response.Status],
    Output = if GetResponseStatus=404 then "Error!" else Source //Иначе повторить этот же запрос заново с учетом кэша полученного при первом входе
in
    Output
Странно, что никакой точной информации написанной примитивным языком для обычного пользователя нет в интернете. Ведь переадресация на страницах сайтов не редко встречается.

Печально, что этот вопрос не решить без реального сайта.
Подсветка текущей строки и массив, Некорректная работа макроса при использовании массива
 
Видео Н.Павлова: youtube.com
Подсветка строки при наведении курсора на ячейку строку очень помогает. Но есть неприятная особенность при использовании этого макроса:
При наведении курсора на массив с данными возникает ошибка. Как исправить?
Код
Private Sub WorkSheet_SelectionChange(ByVal Target As Range)

   If Target.Cells.Count > 1 Then Exit Sub

   ActiveCell.Calculate

End Sub
Код
=СТРОКА()=ЯЧЕЙКА("строка")
Ошибка:
Получение данных вэб-запросом PQ, Двойная авторизация
 
Ссылка вида: https://test.ru/10.05.2020&type=json
1. Используя браузер (Chrome или другой) перехожу по ссылке выше, происходит автоматическая авторизация. Второй раз перехожу по ссылке выше - получаю результат вида:
Код
40
50
60
2. Используя Excel (Данные - Создать запрос - Из других источников - Из интернета) - получаю некорректный ответ.

3. Используя Excel (Даные - Получение внешних данных - Из интернета (открывается окно IE) - вставляю ссылку выше - авторизация - еще раз вставляю - результат корректен.

Есть ли возможность дважды перейти по ссылке в одном шаге вэб-запроса power query? Очень пытался. Не смог.
Аналогичная проблема была рассмотрена здесь: ссылка. 10 лет прошло. Возможно есть более простое решение.
Цитата
есть сайт на который вход осуществляется путём авторизации через ЕЦП (сертификат)
EducatedFool  
Сортировка и отбор данных на основании другой таблицы Power Query., Сортировка данных в зависимости от сторонней таблицы через Power Query.
 
Сергей К, не понял мысль. Крайняя правая таблица это ведь результат того, что я хотел получить.
Сортировка и отбор данных на основании другой таблицы Power Query., Сортировка данных в зависимости от сторонней таблицы через Power Query.
 
surkenny, пока не знаю, что получится, но
  • Данные из одного запроса будут использоваться на нескольких листах (просто сделаю ссылки на диапазон из запроса).
  • Каждый лист должен подгружать заданную дату.
Подскажите еще как сделать смещение на одну строку ниже т.е. в Параметрах задаю дату, а в запросе получаю дату + 1 час следующего дня. Условие сортировки должно соблюдаться. Пример приложил.
Получилось сделать только перечислением в столбце Параметры всех необходимых часов на дату + 1 час следующего дня.

Разобрался сам. Добавил к дате 1 час, вывел в новый запрос и опять отсортировал.
Изменено: bugser - 14.05.2022 00:20:16
Сортировка и отбор данных на основании другой таблицы Power Query., Сортировка данных в зависимости от сторонней таблицы через Power Query.
 
mechanix 85, логично и ведь работает. Спасибо. :*  
Сортировка и отбор данных на основании другой таблицы Power Query., Сортировка данных в зависимости от сторонней таблицы через Power Query.
 
mechanix 85, Да, частично помогло, но требуется, чтобы дубликаты оставались на месте. Т.е. в запросе одна и та же дата должна присутствовать по несколько раз. Иначе вся суть такой сортировки теряется.
Изменено: bugser - 11.05.2022 21:06:49
Страницы: 1 2 След.
Наверх