Я должен регулярно составлять отчет, в котором фотография каждого использованного элемента должна быть вставлена в определенную позицию для печати. Например, если я использую 3 элемента, мне нужно разместить фотографию каждого элемента в столбце A, строка 6+ (i-1) * 23. Я попытался использовать цикл и picture.insert, но всегда происходит то, что первое фото идеально размещается, а второе - постепенно отклоняется по вертикали. Я хотел бы знать, сталкивался ли кто-нибудь с этим и есть ли какие-либо доступные решения. Я прошу прощения, если уже есть ответ, но я не смог его найти. Кроме того, извиняюсь за упрощенный код, который я печатаю с мобильного устройства.
For i=1 to lastRow
Set targetCell = range(some range)
Set pic = ws.pictures.insert(file name)
With pic
.Top = targetCell.Top
.Left = targetCell.Left
End With
Next i
Наблюдения, часть 1:
это явление возникает, когда я управляю размещением фотографий, используя отдельную книгу, независимо от того, использую я цикл или нет
без использования цикла (нажатие кнопки для выполнения макроса вручную) размещение фотографий идеально на компьютерах Excel 2010 и отключено по горизонтали (последовательно) на компьютерах Excel 2016
вышеупомянутый метод предполагает написание кода в Excel 2016
Наблюдения, часть 2:
Я начну с решения проблемы горизонтального смещения без петель, прежде чем заняться проблемой петель, чтобы попытаться лучше понять проблему
представляется, что размер пикселя в каждой книге различен, что может быть причиной проблемы (разные компьютеры могут иметь разные определения размера пикселей при создании книг)
например, одна рабочая книга показывает ширину столбца 3,55 как 46 пикселей, а другая - 3,50 как 49 пикселей
, скопировав весь лист из одной книги и вставив его в другой, я смог сделать согласованным размер пикселя обеих книг, и это, похоже, решило проблему горизонтального смещения (без зацикливания)
следующим шагом будет попытка использовать ту же рабочую книгу для реализации циклов