Вставка картинки в ячейку excel по условию

 

jonny0

Пользователь

Сообщений: 90
Регистрация: 28.07.2015

Ну все, поломал мозги окончательно. Не работает у меня ничего. Уже повторил полностью пример от Павлова, но НИЧЕГО не получается! Картинки не меняются. Да и вообще я по этим формулам не могу догнать как будут меняться картинки — таблицу проиндексировали, с выбором связали, соответсвие картинке назначили, НО с каких делов картинка будет вставляться в нужное место я не допонимаю.
Кузьмич, ваш пример проще, чем у Павлова, но из за того ещё больше ничего не ясно. Почему на листе 1 у вас картинки вставляются туда, куда вставляются?

Изменено: jonny009.11.2015 10:09:37

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

Вставка и изменение изображения динамически на основе значений, которые вы вводите в ячейку
Динамическое изменение изображения на основе значений ячеек с помощью замечательного инструмента


Вставка и изменение изображения динамически на основе значений, которые вы вводите в ячейку

Как показано на скриншоте ниже, вы хотите отображать соответствующие изображения динамически на основе значения, введенного вами в ячейку G2. При вводе банана в ячейку G2 изображение банана будет отображаться в ячейке H2. При вводе «Ананас» в ячейку G2 изображение в ячейке H2 превратится в соответствующее изображение ананаса.

1. Создайте на листе два столбца, первый диапазон столбцов. A2: A4 содержит название картинки, а второй диапазон столбца B2: B4 содержит соответствующие изображения. См. Показанный снимок экрана.

2. Нажмите Формулы > Менеджер имен.

3. в Менеджер имен диалогового окна, нажмите Новинки кнопка. Затем Редактировать имя всплывает диалоговое окно, введите Продукт в Имя и фамилия поле введите формулу ниже в поле Относится к поле, а затем щелкните OK кнопка. Смотрите скриншот:

=INDIRECT(ADDRESS(2-1+MATCH(Sheet2!$G$2, Sheet2!$A$2:$A$4, 0), 2))

Заметки:

1). В формуле первое число 2 — номер строки вашего первого продукта. В этом случае мое первое название продукта находится в строке 2.

2). Лист2! $ G $ 2 это ячейка, на основе которой вы хотите, чтобы соответствующее изображение изменялось динамически.

3). Sheet2! $ A $ 2: $ A $ 4 это ваш список названий продуктов на текущем листе.

4). Последний номер 2 — это номер столбца, в котором находятся ваши изображения.

Вы можете изменить их по своему усмотрению в приведенной выше формуле.

4. Закрой Менеджер имен диалоговое окно.

5. Выберите изображение в столбце «Изображения» и нажмите Ctrl + C ключи одновременно, чтобы скопировать его. Затем вставьте его в новое место на текущем листе. Здесь я копирую изображение яблока и помещаю его в ячейку H2.

6. Введите название фрукта, например Apple, в ячейку G2, щелкните, чтобы выбрать вставленное изображение, и введите формулу. = Продукт в Панель формул, затем нажмите Enter ключ. Смотрите скриншот:

Отныне при смене имени фрукта в ячейке G2 картинки в ячейке H2 будут динамически превращаться в соответствующие.

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


Легко вставляйте изображения в связанные ячейки на основе значений ячеек с помощью замечательного инструмента

Многим новичкам в Excel этот метод непрост. Здесь рекомендую Раскрывающийся список изображений особенность Kutools for Excel. С помощью этой функции вы можете легко создать динамический раскрывающийся список с полностью совпадающими значениями и изображениями.

Пожалуйста, сделайте следующее, чтобы применить функцию раскрывающегося списка изображений Kutools for Excel для создания раскрывающегося списка динамических изображений в Excel.

1. Во-первых, вам нужно создать два столбца, отдельно содержащие значения и соответствующие изображения, как показано на скриншоте ниже.

2. Нажмите Кутулс > Импорт Экспорт > Сопоставить Импорт изображений.

3. в Раскрывающийся список изображений диалоговое окно необходимо настроить следующим образом.

3.1) Если вы создали столбцы значений и изображений на шаге 1 выше, проигнорируйте этот шаг;

3.2) В Step2 раздел, выберите два столбца, которые вы создали;

3.3) В Step3 В разделе выберите диапазон для вывода раскрывающегося списка динамического изображения.

Примечание: In Step3 раздел, нужно выбрать две колонки для размещения результатов. Один столбец предназначен для значений, а другой — для соответствующих изображений.

3.4) Нажмите ОК.

4. Затем Kutools for Excel всплывает диалоговое окно, напоминающее вам о том, что в процессе будут созданы некоторые промежуточные данные, щелкните Да для продолжения.

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

Нажмите, чтобы узнать больше об этой функции …

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


Статьи по теме:

  • Как создать динамическую гиперссылку на другой лист в Excel?
  • Как динамически извлечь список уникальных значений из диапазона столбцов в Excel?
  • Как создать динамический ежемесячный календарь в Excel?

Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Вставка в ячейку формулу (картинку) по условию

Sagba

Дата: Понедельник, 10.10.2016, 08:32 |
Сообщение № 1

Группа: Пользователи

Ранг: Прохожий

Сообщений: 5


Репутация:

0

±

Замечаний:
0% ±


Excel 2013

Добрый день.
Прошу помочь в следующем вопросе….
Необходимо чтобы в ячейку вставлялась та или иная формула (картинка) в зависимости от условия…
Пример прилагаю.

К сообщению приложен файл:

5309883.xlsx
(53.4 Kb)

 

Ответить

_Boroda_

Дата: Понедельник, 10.10.2016, 09:23 |
Сообщение № 2

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

Добрый!
Так хотите?
смотрите имя (Контрл F3) Ф1

Код

=ЕСЛИ(‘Печать расчета’!$AE$15<=’Печать расчета’!$AE$16;’Печать расчета’!$A$45;’Печать расчета’!$A$49)

И топните на картинку в А31 и посмотрите в строке формул
Картинка в А1 сделана инструментом «Камера» — http://www.excelworld.ru/publ/hacks/tools/camera/27-1-0-55
И обратите внимание на случай b=bкр — в условиях он подходит под обе формулы. Я понимаю, что при равенстве b=bкр обе формулы скорее всего (я, поскольку ленивый, не проверял, просто предположил) дадут одинаковый результат, но какую из них нужно показать? Сейчас показывается первая.

А, да — поиграться можно, меняя ячейки АЕ15 и АЕ16


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

Sagba

Дата: Понедельник, 10.10.2016, 09:33 |
Сообщение № 3

Группа: Пользователи

Ранг: Прохожий

Сообщений: 5


Репутация:

0

±

Замечаний:
0% ±


Excel 2013

Добрый день.
Да так… Но что то не могу повторить… можно по подробнее? (у меня в ячейке получается «0», не могу сослаться на картинку…).

 

Ответить

_Boroda_

Дата: Понедельник, 10.10.2016, 09:50 |
Сообщение № 4

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

Опишите порядок Ваших действий, а я подскажу


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

Sagba

Дата: Понедельник, 10.10.2016, 10:39 |
Сообщение № 5

Группа: Пользователи

Ранг: Прохожий

Сообщений: 5


Репутация:

0

±

Замечаний:
0% ±


Excel 2013

А все вроде понял….
То есть принцип такой создаю «новое имя»…
В диапазон имени пишу формулу…
Вставляю картинку через камеру…
И меняю формулу картинки на «новое имя»…
Спасибо :)

Сообщение отредактировал SagbaПонедельник, 10.10.2016, 10:39

 

Ответить

_Boroda_

Дата: Понедельник, 10.10.2016, 10:41 |
Сообщение № 6

Группа: Модераторы

Ранг: Местный житель

Сообщений: 16618


Репутация:

6465

±

Замечаний:
0% ±


2003; 2007; 2010; 2013 RUS

Да, именно так


Скажи мне, кудесник, любимец ба’гов…
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995

 

Ответить

Pelena

Дата: Понедельник, 10.10.2016, 11:38 |
Сообщение № 7

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

[offtop]В своё время у моих сыновей была замечательная учительница математики. Она учила всегда проговаривать выполняемые действия, поначалу заставляла прямо вслух произносить: раскрываю скобки, нахожу подобные и т.д. Говорила, что, во-первых, лучше запоминается, а во-вторых, лучше выявляются ошибки и неверные действия. И это работает!

Опишите порядок Ваших действий

[/offtop]


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

DusXL-77

Дата: Пятница, 11.08.2017, 09:16 |
Сообщение № 8

Группа: Пользователи

Ранг: Прохожий

Сообщений: 1


Репутация:

0

±

Замечаний:
0% ±


Excel 2010

Добрый день.
Три дня ломаю голову %) хочу сделать ребёнку развивающую штучку, чтоб приучать к компу, но не получается.
Хочу в одном листе разместить кучу картинок из инета и скрыть этот лист.
А вот когда он пишет в ячейке слово, к примеру АРБУЗ в окошке рядом оно должно появится.
Вроде и как фото сделал, но не работает. Создал уже три ячейки с разными формулами, не получается. На второй ячейке я скопировал саму ячейку из поста выше, которую делал _Boroda_, не получается всё равно.
Мой файл во вложении.
Помогите пожалуйста.


Мир Вам и Вашему дому.

 

Ответить

Pelena

Дата: Пятница, 11.08.2017, 09:20 |
Сообщение № 9

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

DusXL-77, прочитайте Правила форума и создайте свою тему. Обратите внимание на размер файла, он не прикрепился. Эта тема закрыта


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

Хитрости »

6 Февраль 2020              22740 просмотров


Вставить картинку в лист — по списку или выбору из ячейки

Сама по себе задача вставки картинки на листе не сложная и ответ лежит на поверхности: это доступно прямо из меню: Вставка(Insert) -группа Иллюстрации(Illustrations)Рисунок(Picture):
Вставка Рисунка в Excel
Кодом VBA вставить тоже не сложно, даже макрорекордер записывает это действие:

Sub InsertPicture()
    ActiveSheet.Pictures.Insert("G:ДокументыИзображенияExcel_vba_ru.png"). _
        Select
End Sub

Но что делать, если вставить надо картинку из заранее известной папки, но с изменяющимся именем? А если при этом еще надо не просто вставить — а подогнать размер картинки под размер ячейки? Например, в ячейке А2 название товара(соответствует названию картинки), а в В2 должно быть изображение. Здесь уже посложнее. Но тоже вполне реализуемо при помощи VBA

'---------------------------------------------------------------------------------------
' Author : The_Prist(Щербаков Дмитрий)
'          Профессиональная разработка приложений для MS Office любой сложности
'          Проведение тренингов по MS Excel
'          https://www.excel-vba.ru
'          info@excel-vba.ru
'          WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
' Purpose: вставка в ячейку картинки с подгонкой под размеры ячейки
'---------------------------------------------------------------------------------------
Sub InsertPicToCell()
    'путь к папке с картинками
    Const sPicsPath As String = "G:ДокументыИзображения"
    Dim sPicName As String, sPFName As String, sSpName As String
    Dim oShp As Shape
    Dim zoom As Double
 
    'в этой ячейке выпадающий список с именами картинок
    sPicName = Range("A2").Value
    'если имя картинки не задано
    If sPicName = "" Then
        Exit Sub
    End If
    'проверяем наличие картинки в папке
    sPFName = sPicsPath & sPicName
    If Dir(sPFName, 16) = "" Then
        Exit Sub
    End If
    'в эту ячейку вставляем картинку
    With Range("B2")
        On Error Resume Next
        'задаем картинке уникальный адрес,
        'привязанный к адресу ячейки
        sSpName = "_" & .Address(0, 0) & "_autopaste"
        'если картинка уже есть - удаляем её
        Set oShp = ActiveSheet.Shapes(sSpName)
        If Not oShp Is Nothing Then
            oShp.Delete
        End If
        'вставляем выбранную картинку
        Set oShp = ActiveSheet.Shapes.AddPicture(sPFName, False, True, .Left + 1, .Top + 1, -1, -1)
        'определяем размеры картинки в зависимости от размера ячейки
        zoom = Application.Min(.Width / oShp.Width, .Height / oShp.Height)
        oShp.Height = oShp.Height * zoom - 2
        'переименовываем вставленную картинку(чтобы потом можно было заменить)
        oShp.Name = sSpName
    End With
End Sub

Чтобы использовать код необходимо создать в книге стандартный модуль(переходим в редактор VBA(Alt+F11) —InsertModule) и вставить в него приведенный выше код. Чтобы картинка вставилась в ячейку, надо записать имя картинки в ячейку A2, нажать сочетание клавиш Alt+F8 и выбрать макрос InsertPicToCell. Не очень удобно, правда?
Значит теперь попробуем сделать так, чтобы при каждом изменении в А2 картинка менялась сама, без необходимости запускать каждый раз код вручную. Для этого придется использовать возможность Excel отслеживать такие события, как изменения ячейки(чтобы лучше понять где это лучше сразу прочитать статью Что такое модуль? Какие бывают модули? и особое внимание уделить описанию про модули листов). Теперь чуть переделываем код:

Private Sub Worksheet_Change(ByVal Target As Range)
'---------------------------------------------------------------------------------------
' Author : The_Prist(Щербаков Дмитрий)
'          Профессиональная разработка приложений для MS Office любой сложности
'          Проведение тренингов по MS Excel
'          https://www.excel-vba.ru
'          info@excel-vba.ru
'          WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
' Purpose: вставка в ячейку картинки с подгонкой под размеры ячейки
'---------------------------------------------------------------------------------------
    'путь к папке с картинками
    Const sPicsPath As String = "G:ДокументыИзображения"
    Dim sPicName As String, sPFName As String, sSpName As String
    Dim oShp As Shape
    Dim zoom As Double
    'т.к. список с именами картинок у нас в ячейке А2,
    'то определяем, что значение изменилось именно в ней
    '   если в ячейке А2 имена картинок, а список товара в другой ячейке
    '   то надо заменить А2 на ту, которая изменяется списком или руками
    If Intersect(Target, Range("A2")) Is Nothing Then
        'изменения не в А2 - ничего не делаем, завершаем код
        Exit Sub
    End If
    'в этой ячейке выпадающий список с именами картинок
    sPicName = Range("A2").Value
    'если имя картинки не задано
    If sPicName = "" Then
        Exit Sub
    End If
    'проверяем наличие картинки в папке
    sPFName = sPicsPath & sPicName
    If Dir(sPFName, 16) = "" Then
        Exit Sub
    End If
    'в эту ячейку вставляем картинку
    With Range("B2")
        On Error Resume Next
        'задаем картинке уникальный адрес,
        'привязанный к адресу ячейки
        sSpName = "_" & .Address(0, 0) & "_autopaste"
        'если картинка уже есть - удаляем её
        Set oShp = ActiveSheet.Shapes(sSpName)
        If Not oShp Is Nothing Then
            oShp.Delete
        End If
        'вставляем выбранную картинку
        Set oShp = ActiveSheet.Shapes.AddPicture(sPFName, False, True, .Left + 1, .Top + 1, -1, -1)
        'определяем размеры картинки в зависимости от размера ячейки
        zoom = Application.Min(.Width / oShp.Width, .Height / oShp.Height)
        oShp.Height = oShp.Height * zoom - 2
        'переименовываем вставленную картинку(чтобы потом можно было заменить)
        oShp.Name = sSpName
    End With
End Sub

Теперь переходим на лист, где в А2 будет изменяться название картинки -правая кнопка мыши на этом листе —Посмотреть код(View Code). Вставляем код выше. Все, теперь при любом изменении в А2 картинка будет изменяться(если указанный файл будет найден в нужной папке).
Если картинки расположены не в «G:ДокументыИзображения», а в той же папке, что и сама книга с кодом, достаточно эту строку
Const sPicsPath As String = «G:ДокументыИзображения»
заменить такими
Dim sPicsPath As String
sPicsPath = ThisWorkbook.Path & «»
тогда папка с книгой будет определяться автоматически.
Но я понимаю, что куда правильнее в ячейке А2 при помощи выпадающего списка выбирать наименование товара, а в В2 при помощи функции ВПР(VLOOKUP) подтягивать из справочника название картинки и уже по этому названию вставлять картинку. Но подстроить код под это уже не сложно. Приводить его здесь не буду, т.к. можно будет запутаться с описанием списка, функций, где и что. Тем более что сам код практически не отличается. К тому же именно в этой реализации код есть в приложенном к статье файле.
Скачать файл:

  Вставить картинку в ячейку (366,9 KiB, 2 392 скачиваний)


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

'---------------------------------------------------------------------------------------
' Author : The_Prist(Щербаков Дмитрий)
'          Профессиональная разработка приложений для MS Office любой сложности
'          Проведение тренингов по MS Excel
'          https://www.excel-vba.ru
'          info@excel-vba.ru
'          WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
' Purpose: вставка в ячейку картинки с подгонкой под размеры ячейки
'---------------------------------------------------------------------------------------
Option Explicit
 
Sub InsertPictureByVal()
    Dim sPicsPath As String
    Dim sPicName As String, sPFName As String, sSpName As String
    Dim llastr As Long, lr As Long
    Dim oShp As Shape
    Dim zoom As Double
 
    'выбираем путь к папке с картинками
    With Application.FileDialog(msoFileDialogFolderPicker)
        .Title = "Выбрать папку с картинками"       'заголовок окна диалога
        .ButtonName = "Выбрать папку"
        .Filters.Clear                              'очищаем установленные ранее типы файлов
        .InitialFileName = ThisWorkbook.Path        'назначаем первую папку отображения
        .InitialView = msoFileDialogViewLargeIcons  'вид диалогового окна
        If .Show = 0 Then Exit Sub               'показываем диалог
        sPicsPath = .SelectedItems(1) 'считываем путь к папке
    End With
    '   если путь надо указать статичный - вместо диалога прописываем одну строку
    '   sPicsPath = "C:images"
 
 
    'проверяем, есть ли слеш после пути к папке
    'если нет - добавляем, иначе путь к картинке будет неверный
    If Right(sPicsPath, 1) <> Application.PathSeparator Then
        sPicsPath = sPicsPath & Application.PathSeparator
    End If
    'определяем последнюю ячейку по столбцу с именами картинок
    llastr = Cells(Rows.Count, 2).End(xlUp).Row
    'если кроме шапки в столбце с именами картинок ничего нет
    If llastr < 2 Then
        Exit Sub
    End If
    'цикл по столбцу с именами картинок
    For lr = 2 To llastr
        sPicName = Cells(lr, 2).Value
        'проверяем наличие картинки в папке
        sPFName = sPicsPath & sPicName
        If Dir(sPFName, 16) <> "" And sPicName <> "" Then
            'в эту ячейку вставляем картинку
            With Cells(lr, 3)
 
                'задаем картинке уникальный адрес,
                'привязанный к адресу ячейки
                sSpName = "_" & .Address(0, 0) & "_autopaste"
                'если картинка уже есть - удаляем её
                Set oShp = Nothing
                On Error Resume Next
                Set oShp = ActiveSheet.Shapes(sSpName)
                If Not oShp Is Nothing Then
                    oShp.Delete
                End If
                On Error GoTo 0
                'вставляем выбранную картинку
                Set oShp = ActiveSheet.Shapes.AddPicture(sPFName, False, True, .Left + 1, .Top + 1, -1, -1)
                'определяем размеры картинки в зависимости от размера ячейки
                zoom = Application.Min(.Width / oShp.Width, .Height / oShp.Height)
                oShp.Height = oShp.Height * zoom - 2
                'переименовываем вставленную картинку(чтобы потом можно было заменить)
                oShp.Name = sSpName
            End With
        End If
    Next
End Sub

Прикладываю пример в формате ZIP-архива, т.к. вместе с самим файлом с кодом я приложил папку images, которая содержит картинки, используемые для вставки в файле. Папка images и сам файл с кодом должны быть распакованы в одну папку.
Скачать файл:

  Вставить картинку в ячейку (366,9 KiB, 2 392 скачиваний)

Обратная задача — сохранение картинок из листа — уже разбиралась мной в этой статье: Как сохранить картинки из листа Excel в картинки JPG

Так же см.:
Как сохранить картинки из листа Excel в картинки JPG
При вставке из VBA картинки на лист ошибка «Метод paste из класса worksheet завершен неверно»
Как скопировать картинку из примечания?
Копирование картинки из примечания


Статья помогла? Поделись ссылкой с друзьями!

  Плейлист   Видеоуроки


Поиск по меткам



Access
apple watch
Multex
Power Query и Power BI
VBA управление кодами
Бесплатные надстройки
Дата и время
Записки
ИП
Надстройки
Печать
Политика Конфиденциальности
Почта
Программы
Работа с приложениями
Разработка приложений
Росстат
Тренинги и вебинары
Финансовые
Форматирование
Функции Excel
акции MulTEx
ссылки
статистика

Вставка картинок по условию

Автор NooBasTiK, 16.04.2017, 15:25

« назад — далее »

День добрый. Необходимо вставлять картинки по условию. Почитал что выдал интернет не нашел свой вариант, а сообразить самому не получилось. Пример прикладываю. Т.е. где стоит знак «X» выше должна вставляться определенная картинка.



Это я читал, не то. Мне надо что бы при постановке знака, в определенную строку (укладка, сварка и пр.) выставлялась картинка определенная данному типу (сварке, укладке и пр.) в одну линию, т.к. линейный объект.Как я понял тут без vba не обойтись возможно и ошибаюсь.


Если я правильно понимаю, Вы пытаетесь «нарисовать» линию, состоящую из участков разного типа. Выбор типа участка (и их количества) остается за пользователем.
Тогда почему бы не последовать методике, описанной на Планете, и не сделать некоторое количество выпадающих_списков (выбор пользователем типа участка) и соответствующее количества ячеек, в которые будут выводиться «выбранные» картинки?


Да, рисуется линия исходя из того в каком месте стоит крестик. Мой файл будет состоять  примерно из 4 тыс столбцов и делать как в примере чекнешся. И более удобно пользователю протягивать крестик что бы появлялись картинки.


Предлагаю подумать о псевдографике


Цитироватьфайл будет состоять  примерно из 4 тыс столбцов и делать как в примере чекнешся

Быстрее файл с ума сойдет от такого количества рисунков :)
Зачем? Подход к решению проблемы нерациональный.
Вы одновременно сможете увидеть 10 (ну, пускай 20), столбцов. Все остальное — лишняя нагрузка на файл. Не его нужно жалеть — себя: тормоза при открытии, «задумчивость» при работе, «поломка» от непосильной ноши. Оно Вам надо?

Вариант: при выборе определеного диапазона (20-100 столбцов) в мини-таблицу подставлются данные из исходной таблицы, к ней (к мини-) подставляются нужные рисунки.
Выбор можно реализовать с помощью выпадающих списков, полосой прокрутки на листе, макросом…

Попутно: лист удобнее просматривать по вертикали.


Картинки простенькие сделанные фигурами excel. И как в итоге распечатать всю таблицу?


Разместите 4000 фигур и посмотрите размер файла.
Печатать можно таким же образом, постранично.

Но хозяин — барин… Наше дело посоветовать, Ваше — отказаться )


Может базу данных замутить?


Рядом с  файлом разместить картинки (или несколько объектов Excel на листе в укромном месте).
Таблицу — в массив. Проверяем в цикле каждый столбец. Нашли знак, определили, в какой строке (какую картинку копировать), вставили рисунок над таблицей. Привязка — по положению ячейки на листе (.Left и .Top)…
Где-то так. Писать код некогда.


Я так примерно и представлял. Библиотека картиночек которые соответствуют определённой ситуации. Но как в VBA это делать я не знаю :)


  • Профессиональные приемы работы в Microsoft Excel

  • Обмен опытом

  • Microsoft Excel

  • Вставка картинок по условию

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Вставка картинки в текстовом редакторе word выполняется
  • Вставка картинки в колонтитулы в word
  • Вставка картинки в колонтитул excel
  • Вставка картинки в word текстового редактора
  • Вставка картинки в excel как ссылка

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии