Есть простая на первый взгля задача, но решения не могу найти: Есть Книга Эксель, которую генерирует промышленная программа. В этой Книге есть лист "Список всех деталей", и в столбце "B" Миниатюра нахояться сгенерированные эскизы (картинки) . Для дальнейшей работы с этими эскизами, в других таблицах, необходимо что бы они были вложенны в ячейку. Сейчас я выделяю последовательно каждую картинку отдельно и нажимаю "вставить в ячейку". Генерирует по несколько сотен картинок в таблице. Часами вношу в ячейки. Если кто может, помогите пожалуйста.
Пример прикрепляю как есть (как сгенерировала программа).
Что бы не развоить много тем на форуме, спрошу здесь же вопрос по макросам Удалено. Вопрос к заявленной теме не имеет никакого отношения. Модератор
Простой пример. Сразу говорю, как рассчитать размер ячейки и вписать рисунок в него посередине не знаю. Привязка к левому верхнему углу. Смещение подобрал под размер ячеек и под разрешение и размер своего экрана.
Скрытый текст
Sub PicMove()
Код
Dim oShp As Shape, k&
Application.ScreenUpdating = False
k = 3
For Each oShp In ActiveSheet.Shapes
If oShp.Name <> "btMacro" Then 'можно удалить просто пропускает кнопку
With oShp
.Left = Cells(k, 2).Left + 7
.Top = Cells(k, 2).Top + 5
End With
k = k + 1
End If 'конец проверки тоже удалить
Next
Application.ScreenUpdating = True
End Sub
Igor67, На самом деле нужно немного другое, нужно что бы просто сработала вот эта (пример) команда с каждым рисунком, и он поместился в саму ячейку под рисунком. Размер ячейки и рисунка менять не нужно.
В примере я применил команду к первым двум картинкам.
Sub AddPicToCell()
Dim iShape As Shape
On Error Resume Next
Application.ScreenUpdating = False
For Each iShape In ActiveSheet.Shapes
If iShape.Name <> "btMacro" Then
iShape.Select
iShape.PlacePictureInCell
End If
Next
Application.ScreenUpdating = True
End Sub