Для базы данных ищу решение такой задачи (из 2 пунктов):
1. Нужно вставить изображение по критерию (артикул). Расширение файлов изображений может быть любым. Вариант решения тут: https://www.planetaexcel.ru/techniques/25/28717/ Но здесь сначала нужно создать ссылки на изображения, затем по ним будет выполнен поиск. Ссылку на изображения я получаю с помощью формулы.
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. Иконки можно масштабировать до полного изображения и обратно.
Столкнулся с такой проблемой как "массовое извлечение изображений из Excel". Нашёл интересный код на VBA, работает хорошо, но сохраняет изображения в том виде, как они представлены на листе, то есть уменьшенного размера. А надо сохранить в исходном разрешении. Есть у кого-то идеи, как нужно дополнить код? (я в макросах совершенно не силён)
Вопрос - возможно ли в Excel как-то сделать PQ-запрос (веб-запрос) таким образом, чтобы результаты он возвращал в конкретный столбец на обычной (или умной сводной) таблице листа Excel?
Замысел в том, чтобы можно было щелкнуть правой кнопкой по этому "простому" столбцу для обновления данных.
Пока что у меня решение только через ВПР, что не позволяет обновлять данные, не заходя в сам запрос.
Подскажите, пожалуйста, как можно решить такую проблему? Есть список кодов, которые подставляются через параметр к ссылке, далее извлекается информация с веб-страницы. Так получилось, что есть случаи, когда страницы с таким кодом нет, соответственно в таблице выводится ошибка, дальше обработка других кодов прекращается. Мне нужно, чтобы строка просто игнорировалась, если веб-страницы нет. В таблице колонки, соответственно, с нулями.
Весь файл скидывать не буду, он тяжелый. Вызываемая функция работает следующим образом:
Можно ли как-то оптимизировать/упростить формулу проверки соответствия числа заданным критериям (то есть входит в диапазон 100-200, например, или является <100 (>200))?
Подскажите, пожалуйста, можно ли как-то путем запросов в Power Query раскрыть список (см. приложенный скрин) и вывести найденные 10-значные коды списком?
1. Есть таблица в Excel, которая работает именно как таблица (при добавлении строк протягиваются формулы, работает автонумерация). Работать с такой таблицей в целом удобно. Но в такой таблице нельзя объединять ячейки, а это требуется. Поэтому перегоняю таблицу в диапазоны (макрос в модулях для быстроты, а так в общем-то и руками можно).
2. Далее использую макрос, чтобы объединить ячейки (заполненная + все незаполненные ниже нее, если есть), в идеале надо смотреть таблицу от заголовков до строки "Total". Наслаждаюсь результатом.
3. При необходимости снова разъединить ячейки макрос (важно - без заполнения ячеек, которые ранее и были пустыми), но не сохраняется формат таблицы, то есть ячейки становятся без границ.
Сразу уточняю, что макросы на максимально начальной стадии понимания, поэтому все, что внедрено в модули, взято исключительно из интернета и адаптировано под мой лист. Вроде как макрос объединения у меня немного сломался.
Если есть идеи, как упростить макросы (в идеале сделать без привязок в столбцам), то был бы рад ознакомиться. Далее планирую привязать коды к кнопкам, либо сделать надстройку, чтобы их можно было использовать в любом документе, который я открываю.
Файл с наработками прилагается.
П.С. Вообще неплохо бы внедрить сводную таблицу для таких задач, она вроде как позволяет объединять ячейки. Но мне еще важно структуру сохранить, плюс таблицу надо сначала заполнить первичными данными, потом сделать/обновить сводную - двойная работа, как мне кажется.
Подскажите, возможно ли формулой (формулами) решить такую задачу.
1. Есть список кодов, напротив каждого кода наименование (могут быть все уникальные, могут быть повторы). 2. Нужно сцепить все значения, относящиеся к этому коду, но при этом пропускать повторяющиеся значения.
Коды могут идти не по порядку, то есть могут быть перемешаны в списке.
Файл с попытками сделать такой список прилагается.
Есть список артикулов (например, 15 строк), есть количество мест.
Артикулы объединяются по коду в группу (формула массива, тоже бы какую-то другую придумать). По каждой группе в итоге надо посчитать, сколько мест получается. См. файл.
Добрый день. Подскажите, пожалуйста, есть ли идеи, какой формулой можно устранить расхождение 0,01 в распределении общего веса брутто по пропорции брутто/нетто?
Полагаю, что-то нужно думать в сторону скользящего округления, но не получается правильно сформулировать.