Excel это не сложно
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
19.04.2024, 18:15:53

Войти
На форуме добавлена возможность подписки на RSS-ленты любого раздела форума. Подписаться можно, нажав на иконку RSS , расположенную левее наименования раздела.
33 242 Сообщений в 5 457 Тем от 6 758 Пользователей
Последний пользователь: Сергей2662
*
Перейти на сайт Хитрости Надстройка MulTEx Обучающие тренинги Наша группа ВКонтакте
Правила форума Начало Помощь Поиск Календарь Войти Регистрация Выйти
+  Excel это не сложно
|-+  Основные форумы
| |-+  Вопросы по Excel и VBA
| | |-+  вставка рисунков с привязкой к ячейкам
Страниц: [1]   Вниз
Печать
Автор Тема: вставка рисунков с привязкой к ячейкам  (Прочитано 4289 раз)
0 Пользователей и 1 Гость смотрят эту тему.
brutWin
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 4


Просмотр профиля
« : 27.05.2019, 15:47:57 »

Добрый день!
Может быть кому то просто и не составит труда, но у меня вызвало сложности.
Нужно создать макрос, который будет вставлять картинки, лежат  в отдельной папке  (они пронумерованы 1(1) 2 (1) и т.д.) в определенные ячейки (всего 23), при этом нужно сохранять пропорцию,  уменьшать картинки на высоту  ячейки и вставлять их ровно по центру.
EXEL 2007
Пытался записать  макрос и сделать на основе его, но картинка вставляется совсем не туда.
Понимания в используемых аргументах нет.

  
Код: (vb)
  ActiveSheet.Range("K13").Activate
    
    ActiveSheet.Pictures.Insert( _
        "\\.jpg"). _
        Select
    Selection.ShapeRange.IncrementLeft 323.5714173228
    Selection.ShapeRange.IncrementRotation 90
    Selection.ShapeRange.IncrementLeft -238.9285826772
    Selection.ShapeRange.Height = 151.937007874
    Selection.ShapeRange.Width = 145.7007874016
    Selection.ShapeRange.LockAspectRatio = msoFalse
    Selection.ShapeRange.Height = 151.937007874
    Selection.ShapeRange.IncrementLeft 80
    Selection.ShapeRange.IncrementTop 0
« Последнее редактирование: 27.05.2019, 16:34:04 от vikttur » Записан
sboy
Постоялец
***

Репутация: +27/-0
Офлайн Офлайн

Сообщений: 207


Просмотр профиля E-mail
« Ответ #1 : 27.05.2019, 17:35:24 »

Добрый день.
Может быть кому то просто и не составит труда
Да, но зачем=)
Первый ответ поисковика дает отличный готовый код
Записан
brutWin
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 4


Просмотр профиля
« Ответ #2 : 27.05.2019, 18:01:55 »

То то и оно что не удаётся найти релевантный код
Настолько оказалось не проще, что даже не лень сюда писать !
Записан
brutWin
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 4


Просмотр профиля
« Ответ #3 : 27.05.2019, 21:24:24 »

Что то накопал и даже работает
Теперь нужно повернуть изображение, на сколько я понимаю команда rotation, но как правильно синтаксис выполнить не понимаю
Код: (vb)
Sub картинка()
'
' картинка

    Dim d As Range
    Set d = Cells(13, 11)
    With ActiveSheet.Pictures.Insert("D:\BrutWin\Work\P7 group\ÏÏÐ\ÔÎÒÎ\1 (1).jpg" & Selection(1).Offset(, 1))
        .Width = d.Width
        .Height = d.Height
        .Top = d.Top
        .Left = d.Left
    End With
End Sub

Комментарий глобального модератора не забывайе оформлять код
« Последнее редактирование: 27.05.2019, 21:41:24 от vikttur » Записан
brutWin
Новичок
*

Репутация: +0/-0
Офлайн Офлайн

Сообщений: 4


Просмотр профиля
« Ответ #4 : 29.05.2019, 13:04:52 »

В итоге получилось, но немного по другому, а проблема с переворотом все равно осталась, если добавляю .rotation  картинка сдвигается относительно ширины и высоты ячейки, если ротацию убрать и поворачивать картинку в исходнике, то все вставляется как нужно, может кто подсказать почему так?
Код: (vb)
Sub картинка()
'
ActiveSheet.Pictures.Insert("D:\BrutWin\Work\P7 group\ппр\фото\1 (1).jpg").Select
            With Selection.ShapeRange
             .Rotation = 90
             .Height = Range("k13").Height
             .Width = Range("k13").Width
             .Top = Range("k13").Top + (Range("K13").Height - .Height) / 2
             .Left = Range("k13").Left + (Range("K13").Width - .Width) / 2
               
            End With

End Sub
Записан
Страниц: [1]   Вверх
Печать
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2011, Simple Machines Valid XHTML 1.0! Valid CSS!
Яндекс.Метрика Рейтинг@Mail.ru