У меня есть макрос, который берет информацию с другого листа и переформатирует. В каждой 5-й строке внизу должно быть изображение, а вся другая информация вводится правильно в следующих строках. По мере увеличения номера строки увеличивается расстояние от вершины ячейки до изображения. Например, если первая фигура находится в 5 пикселях от вершины обозначенной ячейки, следующая будет 6 и так далее. Если бы это была простая тенденция, я мог бы добавить переменную, чтобы приспособить это, но все изображения немного различаются по размеру, поэтому я пытаюсь сделать это динамически.
До сих пор, как упоминалось выше, я пытался делать это статически, используя переменную для учета увеличения, но безуспешно. Ниже приведен код, который я сейчас использую, который, кажется, не работает.
If CopyPicFromCell(shtSource.Range("A1").Offset(i - 1, 2)) Then
'copied the picture, so paste to shtDest
shtDest.Paste
With shtDest.Shapes(shtDest.Shapes.Count)
.Top = shtDest.Range("A1").Offset(x - 3, 0).Top + ((shtDest.Range("A1").Offset(x - 3, 0).Height - .Height) / 2)
.Left = shtDest.Range("A1").Offset(x - 3, 0).Left + (shtDest.Range("A1").Offset(x - 3, 0).Width - .Width) / 2
End With
End If
Это всегда центрирует изображение слева направо, но, кажется, не выполняет трюк вертикально. Пожалуйста, сообщите, если есть какая-либо другая информация, необходимая. Спасибо!