Lost your password?


Хитрости »
Основные понятия (27)
Сводные таблицы и анализ данных (10)
Графики и диаграммы (5)
Работа с VB проектом (12)
Power BI и Power Query (23)
Условное форматирование (5)
Списки и диапазоны (5)
Макросы(VBA процедуры) (68)
Разное (43)
Баги и глюки Excel (5)

Как скопировать картинку из примечания?

Изначально возможность копирования картинки из примечания появилась в надстройке MulTEx - Копирование картинки из примечания. Но впоследствии я стал все чаще встречать на форумах просьбы выложить подобный код. Поэтому решил поделиться таким кодом в этой статье, т.к. возможно это поможет кому-то в решении подобной проблемы. О каких картинках вообще речь. После создания стандартного примечания(вкладка Рецензирование -Создать примечание) ему можно назначить отдельный фон, в том числе в виде картинки:

  • правая кнопка мыши на ячейке с примечанием -Изменить примечание, навести курсор мыши на границу примечания (чтобы курсор принял вид крестика с разнонаправленными стрелочками на концах) -правая кнопка мыши -Формат примечания:
    Формат примечания
  • На вкладке Цвета и линии раскрыть список цвет и выбрать Способы заливки:
    Способы заливки
  • в появившемся окне перейти на вкладку Рисунок и нажать кнопку Рисунок:
    Вставить рисунок
  • Выбрать нужную картинку и нажать Ок

Код ниже как раз "вытаскивает" назначенные примечаниям таким образом картинки. Для чего это вообще может понадобиться? Часто таким образом назначают изображения товара в ячейках с названием или артикулом товара. Однако извлекать потом изображения из примечаний куда сложнее, чем их туда затащить. А код ниже сделает это буквально за несколько секунд.
Для того, чтобы получить картинку, "зашитую" в примечание в качестве фона, необходимо выделить одну или несколько ячейки запустить приведенный далее код. После работы кода в ячейке, расположенной правее ячейки с примечанием, будет картинка из этого примечания. Выделять можно так же и ячейки, в которых нет примечаний, если они вдруг идут не подряд. В таком случае картинки будут скопированы только из ячеек с примечаниями, ошибок это не вызовет.

Sub Copy_Picture_From_comment()
    If TypeName(Selection) <> "Range" Then MsgBox "Выделенная область не является диапазоном!", vbCritical, "Ошибка": Exit Sub
    Dim rRange As Range, rCell As Range, oComment As Comment
    Dim bVisible As Boolean
 
    On Error Resume Next
    Set rRange = Selection.SpecialCells(xlCellTypeComments)
    If rRange Is Nothing Then Exit Sub
    Application.ScreenUpdating = 0
 
    For Each rCell In rRange
        Set oComment = rCell.Comment
        If Not oComment Is Nothing Then
            bVisible = oComment.Visible
            With rCell
                .Comment.Visible = True
                .Comment.Shape.CopyPicture xlScreen, xlBitmap
                .Offset(, 1).PasteSpecial
                .Comment.Visible = bVisible
            End With
        End If
    Next rCell
    Application.ScreenUpdating = 1
    Set rRange = Nothing: Set rCell = Nothing: Set oComment = Nothing
End Sub

Код необходимо поместить в стандартный модуль. Выполнить же код можно нажав сочетание клавиш Alt+F8 и выбрав Copy_Picture_From_comment.
Если вдруг данные картинки надо сохранить не на лист Excel, а на диск, то можно сначала применить код выше, а затем код, выложенный в этой статье для сохранения на диск. Ну а тем, кто хоть немного разбирается в кодах, не составит труда при необходимости совместить коды из этих двух статей в один.

Скачать пример:

  Tips_Macro_Copy_Picture_from_Comments.xls (52,0 KiB, 2 968 скачиваний)

Также см.:
Копирование картинки из примечания
Как сохранить картинки из листа Excel в картинки JPG


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

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

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

    Добрый день!
    Никак не могу разобраться как запустить код. Помогите - сижу уже 2 дня...

  2. Вы файл скачали? если да - то надо лишь выделить ячейки с примечаниями и нажать на кнопку. Если ничего не происходит - читайте эту статью: http://www.excel-vba.ru/chto-umeet-excel/pochemu-ne-rabotaet-makros/

    Если проблема другого рода - то опишите, как и откуда Вы код пытаетесь запустить.

  3. Елена:

    Спасибо!!! Со всем разобралась - очень выручила информация ваша.

  4. Михаил:

    Добрый день. Сразу прошу прощение за, возможно пересекающийся вопрос, не один день сижу. Но это не оправдывает меня, как дилетанта в этой области.
    Может есть ссылка на тему. где четко и простым языком объяснено — что за чем делать, что бы скопировать картинки из EXEL с названием артикула слева (или справа ) находящихся от них в колонке? Пока меня интересует только этот вопрос. Пробную версию установил. она работает.
    Код в ЭтаКнига вставлял и сохранился результат в с/ temp — По пути ни чего не нашел.
    Голова уже кругом, что. да где ставить. Буду очень признателен. если кто-нибудь запишет видео урок по моему вопросу. Спасибо автору за столь важную инфо.
    Первый раз прочитал, что у людей есть такая возможность и получается. Но сам понимаю. что не справлюсь.
    Смог воспользоваться только примитивным способом пересохранения файла в Веб-страницу. А как с помощью представленной программы и кодов сохранить фото из ячеек EXEL в Папку с фото под номером артикула соответствующего оной — :( не могу понять. Заранее спасибо за помощь. Всех Благ.

Поделитесь своим мнением

Комментарии, не имеющие отношения к комментируемой статье, могут быть удалены без уведомления и объяснения причин. Если есть вопрос по личной проблеме - добро пожаловать на Форум


Для оформления сообщений Вы можете использовать следующие тэги:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Тренинги

Заказать
Юридическая информация

Использование материалов сайта

Политика Конфиденциальности

ИП Щербаков Дмитрий Валентинович
ОГРНИП: 318502700083307
ИНН: 504013350772

Наши партнеры

Перейти

Счетчики

Рейтинг@Mail.ru Яндекс.Метрика
© 2024 Excel для всех   Войти