İyi günler,
Daha önceden sizlerin yardımları ile yapmış olduğum bir makroyu yeniden düzenleme ihtiyacı duymaktayım. Aşağıda yer alan makro ile seçmiş olduğum hücre içerisine resim eklemekte herhangi bir sorun yaşamıyorum. Ancak birleştirilmiş hücre (merged cell) içerisine eklemek istediğimde sol üstte yer alan ilk hücreye göre kendini ayarlıyor. Acaba bunu nasıl düzeltebilirim. İkinci olarak ise bu makroyu resimleri oryantasyonuna (dikey ya da yatay) göre eklemek üzere ayarlamıştık. Dikey resimlerde resmi hücreye sığdırıp ortalıyor ancak yatay resimlerde eğer resimler 16/9 formatında ise resimleri yalnızca en olarak sığdırıyor ancak ortalamıyor hücreye.
Ekte verdiğim belgeyi incelemeniz durumunda çok daha net anlaşılacağını tahmin ediyorum.
Teşekkürler
Daha önceden sizlerin yardımları ile yapmış olduğum bir makroyu yeniden düzenleme ihtiyacı duymaktayım. Aşağıda yer alan makro ile seçmiş olduğum hücre içerisine resim eklemekte herhangi bir sorun yaşamıyorum. Ancak birleştirilmiş hücre (merged cell) içerisine eklemek istediğimde sol üstte yer alan ilk hücreye göre kendini ayarlıyor. Acaba bunu nasıl düzeltebilirim. İkinci olarak ise bu makroyu resimleri oryantasyonuna (dikey ya da yatay) göre eklemek üzere ayarlamıştık. Dikey resimlerde resmi hücreye sığdırıp ortalıyor ancak yatay resimlerde eğer resimler 16/9 formatında ise resimleri yalnızca en olarak sığdırıyor ancak ortalamıyor hücreye.
Ekte verdiğim belgeyi incelemeniz durumunda çok daha net anlaşılacağını tahmin ediyorum.
Teşekkürler
Sub InsertionImage()
Dim Emplacement As Range
Dim Img As Variant
Dim XRatio As Double
Dim YRatio As Double
If Application.Dialogs(xlDialogInsertPicture).Show Then
Set Emplacement = ActiveCell
Set Img = ActiveSheet.DrawingObjects(ActiveSheet.Shapes.Count)
XRatio = ActiveCell.Width / Img.Width
YRatio = ActiveCell.Height / Img.Height
With Img
.ShapeRange.LockAspectRatio = msoFalse
.Left = ActiveCell.Left + 1
.Top = ActiveCell.Top + 1
.Placement = xlMoveAndSize
End With
If (XRatio < YRatio) Then
Img.Width = (Img.Width * XRatio) - 1
Img.Height = (Img.Height * XRatio) - 1
Else
Img.Width = (Img.Width * YRatio) - 1
Img.Height = (Img.Height * YRatio) - 1
End If
If (Img.Width < ActiveCell.Width) Then
Img.Left = ActiveCell.Left + 1 + ((ActiveCell.Width - Img.Width) / 2)
End If
End If
End Sub
Ekli dosyalar
-
139 KB Görüntüleme: 81