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

Страницы: 1
Вставка изображений, изменение масштаба (увеличение/уменьшение) при нажатии - VBA макрос
 
Добрый день.

Для базы данных ищу решение такой задачи (из 2 пунктов):

1. Нужно вставить изображение по критерию (артикул). Расширение файлов изображений может быть любым.
Вариант решения тут: https://www.planetaexcel.ru/techniques/25/28717/
Но здесь сначала нужно создать ссылки на изображения, затем по ним будет выполнен поиск. Ссылку на изображения я получаю с помощью формулы.
Код
=СЦЕПИТЬ(ПОДСТАВИТЬ(ЯЧЕЙКА("имяфайла");СЖПРОБЕЛЫ(ЛЕВСИМВ(ПРАВСИМВ(ПОДСТАВИТЬ(ЯЧЕЙКА("имяфайла");"\";ПОВТОР(" ";100));100);100));"");A1;".png")

2. Нужно сделать масштабирование изображения, то есть нажимаем на маленькое изображение - оно увеличивается, нажимаем по увеличенному - оно возвращается к исходному размеру.

Найденный в интернете код работает частично, так как вставка изображений происходит по сути в ручном режиме - нужно выбирать ячейку и путь к файлу, чтобы сделать связку.
Код
Sub InsertImage()
    Dim SHP As Shape, fName As String, Cel As Range
    Set Cel = Application.InputBox("select cell for image placement & click on OK", "", , , , , , 8)
    fName = Application.GetOpenFilename(Title:="Select image", FileFilter:="Images (*.gif;*.jpg;*.jpeg;*.bmp;*.png),*.gif;*.jpg;*.jpeg;*.bmp;*.png")
    Cel.Select
    ActiveSheet.Pictures.Insert(fName).Select
    Set SHP = Selection.ShapeRange.Item(1)
    Call PlaceImage(Cel, SHP)
    SHP.OnAction = "ClickResizeImage"               '(assign macro)
    Cel.Select
End Sub
Sub PlaceImage(Cel As Range, SHP As Shape)
    Dim W As Double, H As Double, L As Double, T As Double
    Cel.Select: W = Cel.Width: H = Cel.Height: L = Cel.Left: T = Cel.Top
    With SHP
        .LockAspectRatio = msoTrue
        .Width = W
        If .Height > H Then .Height = H
        .Left = L + (W - SHP.Width) / 2
        .Top = T + (H - SHP.Height) / 2
    End With
End Sub
Sub ClickResizeImage()
    Dim SHP As Shape, Cel As Range, W As Double, H As Double, L As Double, T As Double
    Set SHP = ActiveSheet.Shapes(Application.Caller)
    Set Cel = SHP.TopLeftCell
    Cel.Select: W = Cel.Width: H = Cel.Height: L = Cel.Left: T = Cel.Top
    If SHP.Width < W Or SHP.Height < H Then SHP.Width = W * 5 Else Call PlaceImage(Cel, SHP)
End Sub

Можно ли как-то объединить коды, чтобы получить такой результат?
1. В колонке A список артикулов.
2. В колонку B автоматически вставляются изображения, найденные по артикулу в той же папке, где лежит файл Excel (в формате "иконок" под высоту ячейки, без каких-либо ссылок).
3. Иконки можно масштабировать до полного изображения и обратно.

Работаю в MS Excel 2016.
Извлечение изображения с листа (книг) Excel
 
Добрый день.

Столкнулся с такой проблемой как "массовое извлечение изображений из Excel". Нашёл интересный код на VBA, работает хорошо, но сохраняет изображения в том виде, как они представлены на листе, то есть уменьшенного размера. А надо сохранить в исходном разрешении. Есть у кого-то идеи, как нужно дополнить код? (я в макросах совершенно не силён)

https://www.excel-vba.ru/chto-umeet-excel/kak-soxranit-kartinki-iz-lista-excel-v-kartinki-jpg/#allfi...
Power Query - вывод результатов запроса в обычную таблицу Excel
 
Добрый день.

Вопрос - возможно ли в Excel как-то сделать PQ-запрос (веб-запрос) таким образом, чтобы результаты он возвращал в конкретный столбец на обычной (или умной сводной) таблице листа Excel?

Замысел в том, чтобы можно было щелкнуть правой кнопкой по этому "простому" столбцу для обновления данных.

Пока что у меня решение только через ВПР, что не позволяет обновлять данные, не заходя в сам запрос.  
Power Query - Заполнить таблицу пустой строкой, если веб-запрос вернулся с ошибкой
 
Добрый день.

Подскажите, пожалуйста, как можно решить такую проблему? Есть список кодов, которые подставляются через параметр к ссылке, далее извлекается информация с веб-страницы. Так получилось, что есть случаи, когда страницы с таким кодом нет, соответственно в таблице выводится ошибка, дальше обработка других кодов прекращается. Мне нужно, чтобы строка просто игнорировалась, если веб-страницы нет. В таблице колонки, соответственно, с нулями.

Весь файл скидывать не буду, он тяжелый. Вызываемая функция работает следующим образом:

Шаг 1. = Web.BrowserContents("https://www.ifcg.ru/kb/tnved/" & #"Код ТН ВЭД")
Шаг 2. = Html.Table(Источник, {{"Название", ".subtitle"}, {"Импорт", "TR:nth-child(1) > :nth-child(2)"}, {"НДС", "TR:nth-child(3) > :nth-child(2)"}, {"Экспорт", ".h3:nth-last-child(2)"}}, [RowSelector=".subtitle"])
Шаг 3. = Table.TransformColumnTypes(#"Извлеченная таблица из HTML",{{"Название", type text}, {"Импорт", type text}, {"НДС", type text}, {"Экспорт", Percentage.Type}})

Удаление строк с ошибками не помогает.
Power Query - Разделить список на несколько столбцов
 
Добрый день.

Получаю желаемые данные из веб-запроса, но в форме списка. Далее этот список надо преобразовать в отдельные колонки с данными.

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

Файл прилагается. В нем уже содержится на листе 2 (3) нужный результат, который руками сделан после транспонирования таблицы.
[ Закрыто] Проверка, входит ли значение в диапазон (в том числе, значения со знаками < и >)
 
Добрый день.

Можно ли как-то оптимизировать/упростить формулу проверки соответствия числа заданным критериям (то есть входит в диапазон 100-200, например, или является <100 (>200))?

Файл прилагается.
Excel Power Query - парсер страницы с деревом, которое надо раскрыть (значения скрыты под "+")
 
Добрый день.

Подскажите, пожалуйста, можно ли как-то путем запросов в Power Query раскрыть список (см. приложенный скрин) и вывести найденные 10-значные коды списком?

https://САЙТ/КОД
Excel Power Query - 10-значные числа
 
Добрый день.

Такой вопрос - можно ли как-то получить список 10-значных чисел запросом с условиями генерации чисел? (например, надо получить 0101000000 и далее)
Макрос: переключение таблицы в диапазоны, объединение/разъединение ячеек
 
Добрый день.

Прошу помощи в решении 3 задач:

1. Есть таблица в Excel, которая работает именно как таблица (при добавлении строк протягиваются формулы, работает автонумерация). Работать с такой таблицей в целом удобно. Но в такой таблице нельзя объединять ячейки, а это требуется. Поэтому перегоняю таблицу в диапазоны (макрос в модулях для быстроты, а так в общем-то и руками можно).

2. Далее использую макрос, чтобы объединить ячейки (заполненная + все незаполненные ниже нее, если есть), в идеале надо смотреть таблицу от заголовков до строки "Total". Наслаждаюсь результатом.

3. При необходимости снова разъединить ячейки макрос (важно - без заполнения ячеек, которые ранее и были пустыми), но не сохраняется формат таблицы, то есть ячейки становятся без границ.

Сразу уточняю, что макросы на максимально начальной стадии понимания, поэтому все, что внедрено в модули, взято исключительно из интернета и адаптировано под мой лист. Вроде как макрос объединения у меня немного сломался.

Если есть идеи, как упростить макросы (в идеале сделать без привязок в столбцам), то был бы рад ознакомиться. Далее планирую привязать коды к кнопкам, либо сделать надстройку, чтобы их можно было использовать в любом документе, который я открываю.

Файл с наработками прилагается.

П.С. Вообще неплохо бы внедрить сводную таблицу для таких задач, она вроде как позволяет объединять ячейки. Но мне еще важно структуру сохранить, плюс таблицу надо сначала заполнить первичными данными, потом сделать/обновить сводную - двойная работа, как мне кажется.
Сцепление текстовых значений из диапазона с отбором по уникальному коду (значению)
 
Добрый день.

Подскажите, возможно ли формулой (формулами) решить такую задачу.

1. Есть список кодов, напротив каждого кода наименование (могут быть все уникальные, могут быть повторы).
2. Нужно сцепить все значения, относящиеся к этому коду, но при этом пропускать повторяющиеся значения.

Коды могут идти не по порядку, то есть могут быть перемешаны в списке.

Файл с попытками сделать такой список прилагается.
Подсчет количества мест по коду (может быть часть, может быть целое)
 
Добрый день. Ломаю голову на таким вопросом.

Есть список артикулов (например, 15 строк), есть количество мест.

Артикулы объединяются по коду в группу (формула массива, тоже бы какую-то другую придумать). По каждой группе в итоге надо посчитать, сколько мест получается. См. файл.
Правильное распределение веса по динамически обновляемым диапазонам (округление без хвостов)
 
Добрый день. Подскажите, пожалуйста, есть ли идеи, какой формулой можно устранить расхождение 0,01 в распределении общего веса брутто по пропорции брутто/нетто?

Полагаю, что-то нужно думать в сторону скользящего округления, но не получается правильно сформулировать.  
Изменено: art_TD - 16.07.2024 16:39:20
Страницы: 1
Наверх