Soru Klasörden resim getirmek

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,158
Excel Vers. ve Dili
Ofis 2019 Türkçe
Altın Üyelik Bitiş Tarihi
27-05-2028
Resim getirme ile ilgili çok sayıda örnek dosyalarım var, ama bu biraz farklı ilk defa sayfada diğer sayfadan alacağı bilgilerle C:\fotoğraflar\ klasöründe resim getirmeye çalıştım, ancak başaramadım.

Örnek dosyamda Şema adlı sayfamda birleştirilmiş hücrelerle yapılmış bir hücreye Data adlı sayfanın c sütunundaki (formüllü) eşleşen hücrenin sağındaki (d sütununda) tc kimlik numarasına göre resmin görünmesini, başka hücreye geçildiğinde ise resmin kapanarak o hücreye ait eşleşen resmin görünmesini istiyorum, yani hücre seçildiğinde resim görünsün. Bırakıldığında resim kaybolsun.
 

Ekli dosyalar

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Buyurun.:cool:
Dosyanız ektedir.:cool:
Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim k As Range
On Error Resume Next
For Each resimm In ActiveSheet.Pictures
    resimm.Delete
Next
Set k = Sheets("data").Range("C:C").Find(Target.Value, , xlValues, xlWhole)
If Not k Is Nothing Then
    ActiveSheet.Pictures.Insert ("C:\fotoğraflar\" & k.Offset(0, 1).Value & ".jpg")
End If
End Sub
 

Ekli dosyalar

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,158
Excel Vers. ve Dili
Ofis 2019 Türkçe
Altın Üyelik Bitiş Tarihi
27-05-2028
Sn. Orion hocam elinize sağlık çok teşekkür ediyorum, resim boyutları farklı farklı geliyor, aynı boyutta gelmesini istiyorum. Bu konu da yardımınız olabilir mi. Teşekkürler.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Buyurun.:cool:
Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim k As Range, rsm
On Error Resume Next
For Each resimm In ActiveSheet.Pictures
    resimm.Delete
Next
Set k = Sheets("data").Range("C:C").Find(Target.Value, , xlValues, xlWhole)
If Not k Is Nothing Then
    Set rsm = ActiveSheet.Pictures.Insert("C:\fotoğraflar\" & k.Offset(0, 1).Value & ".jpg")
    rsm.ShapeRange.LockAspectRatio = msoFalse
    rsm.Height = Target.Height
   rsm.Width = Target.Width
   Set rsm = Nothing
End If
Set k = Nothing
End Sub
 

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,158
Excel Vers. ve Dili
Ofis 2019 Türkçe
Altın Üyelik Bitiş Tarihi
27-05-2028
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim k As Range, rsm
On Error Resume Next
For Each resimm In ActiveSheet.Pictures
resimm.Delete
Next
Set k = Sheets("data").Range("C:C").Find(Target.Value, , xlValues, xlWhole)
If Not k Is Nothing Then
Set rsm = ActiveSheet.Pictures.Insert("C:\foto\" & k.Offset(0, 1).Value & ".jpg")
rsm.ShapeRange.LockAspectRatio = msoFalse
rsm.ShapeRange.Height = 140
rsm.ShapeRange.Width = 120
' rsm.Height = Target.Height
' rsm.Width = Target.Width
Set rsm = Nothing
End If
Set k = Nothing
End Sub

Hocam bu şekilde istediğim ebatlara ulaşabildim. Çok Teşekkür ediyorum. Hayırlı geceler dilerim.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Rica ederim.
İyi çalışmalar.:cool:
 
Üst