Учитывая ваш блок кода:
With ActiveCell.Comment
.Shape.Fill.UserPicture ImgFile
.Shape.Width = myImg.Width * ZoomF / 2645.9
.Shape.Height = myImg.Height * ZoomF / 2645.9
.ShapeRange.LockAspectRatio = msoTrue 'this does not seem to work
.Shape.Placement = 2 'move but do not size with cells
End With
Я полагаю, вы хотите изменить эту строку:
.ShapeRange.LockAspectRatio = msoTrue
на эту:
.Shape.LockAspectRatio = msoTrue
Нет'свойство' ShapeRange 'для объекта Comment.Таким образом, ваш код генерирует ошибку там.Но поскольку вы объявили «OnErrorResumeNext», выполнение игнорирует ошибку и начинается со следующей строки.
Итак, вы не видите никаких проблем, но ваша попытка изменить свойство LockAspectRatio на самом деле не работает, а затем бит, который следует после изменения свойства Position, никогда не выполняется.Исправление одной строки кода должно решить обе проблемы.