Çalışma sayfasında resim gösterme...

Katılım
22 Eylül 2006
Mesajlar
883
Excel Vers. ve Dili
Office Excel®2007®TR
Merhaba Arkadaşlar ;

Ekte göndermiş olduğum çalışma sayfamda yer alan açılır kutu aracılığı ile , kitabın bulunduğu dizindeki *.jpg uzantılı dosyaları image nesnesinde göstermek istiyorum.Yardımcı olursanız sevinirim.İyi çalışmalar.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Dosyanızdaki gibi bir image nesnesi kullanacak olursanız aşağıdaki kodu kullanabilirsiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Image1.Picture = LoadPicture(ThisWorkbook.Path & "\" & [c10] & ".jpg")
End Sub
Resmi direk sayfa üzerine eklemek istersenizde aşağıdaki kodu kullanabilirsiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Intersect(Target, [c10]) Is Nothing Then Exit Sub
ActiveSheet.Shapes("resim").Delete
[d10].Select
ActiveSheet.Pictures.Insert(ThisWorkbook.Path & "\" & [c10] & ".jpg").Select
Selection.Name = "resim"
Selection.ShapeRange.Height = 118
Selection.ShapeRange.Width = 109.75
[c10].Select
End Sub
 
Katılım
22 Eylül 2006
Mesajlar
883
Excel Vers. ve Dili
Office Excel®2007®TR
Teşekkürler...Çok makbule geçti.İyi çalışmalar.Saygılar...
 
Katılım
7 Kasım 2006
Mesajlar
47
Excel Vers. ve Dili
Ofis xp
Resmi direk sayfa üzerine eklemek istersenizde aşağıdaki kodu kullanabilirsiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Intersect(Target, [c10]) Is Nothing Then Exit Sub
ActiveSheet.Shapes("resim").Delete
[d10].Select
ActiveSheet.Pictures.Insert(ThisWorkbook.Path & "\" & [c10] & ".jpg").Select
Selection.Name = "resim"
Selection.ShapeRange.Height = 118
Selection.ShapeRange.Width = 109.75
[c10].Select
End Sub
[/QUOTE]

Dosya güzel, işime yarayacak ama, isimler ile fotoğraf arasına bir sütün ilave edemiyorum. eklenen resimler isimlerin üzerini kısmen kapatıyor. lütfen yardım
 

aliakgul

Altın Üye
Katılım
9 Mayıs 2005
Mesajlar
402
Excel Vers. ve Dili
Ofis 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
03-08-2025
Dosyanızdaki gibi bir image nesnesi kullanacak olursanız aşağıdaki kodu kullanabilirsiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Image1.Picture = LoadPicture(ThisWorkbook.Path & "\" & [c10] & ".jpg")
End Sub
Merhaba,
Bu kodlar üzerinde küçük bir değişikliğe ihtiyacım olacak.
a.) Resimleri, çalışma kitabının yanında yer alan (çalışma kitabıyla aynı dizindeki) "resimler" adlı bir klasörden çağırmak istiyorum.
b.) Ben C10 hücresine tıklamadan, formlar araç çubuğundan oluşturduğum bir açılır pencereden isim seçiyorum. C10 hücresinde ise DÜŞEYARA fonksiyonu var ve gerekli isim tanımlaması bu şekilde yapılıyor. Buraya kadar herşey normal ama mevcut kodlarla resmin değişmesi için c10 hücresine illaki tıklanması gerekiyor.Oysa ben istiyorum ki, açılır pencereden ismi seçince c10'daki ismin foroğrafı image penceresinde görüntülensin.
Sanırım sorunu anlatabildim..Şimdiden teşekkür ediyorum.
 
Son düzenleme:

aliakgul

Altın Üye
Katılım
9 Mayıs 2005
Mesajlar
402
Excel Vers. ve Dili
Ofis 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
03-08-2025
Sayın leventm,
yukarıdaki sorumla ilgilenebilirseniz sevinirim... teşekkürler...
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki gibi deneyin. Kod zaten C10 hücresinde veri değiştiğinde çalışacaktır.

Kod:
[LEFT]Private Sub Worksheet_Change(ByVal Target As Range)
if intersect(target,[c10]) is nothing then exit sub
Image1.Picture = LoadPicture("c:\resimler\" & [c10] & ".jpg")
End Sub[/LEFT]
 

aliakgul

Altın Üye
Katılım
9 Mayıs 2005
Mesajlar
402
Excel Vers. ve Dili
Ofis 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
03-08-2025
Sayın Leventm,teşekkür ederim, tam istediğim gibi oldu.
Ancak ben-hoşgörünüze sığınarak- aşağıdaki biçimde bir düzenleme yaptım ki; böylece ilgili dosya ve klasör başka bir sürücüye taşınırsa hata vermeyecektir...
Image1.Picture = LoadPicture(ThisWorkbook.Path & "\resimler\" & [c10] & ".jpg")

-------------------------
Bu kodları geliştirme açısından bir soru eklemek istiyorum:
Yukarıdaki kodlara göre, [C10] hücresindeki değeri isim olarak taşıyan jpeg resmi resim kutusunda görüntülenecek.
Eğer [C10] hücre değerini isim olarak taşıyan bir resim yoksa excel macro hatası vermektedir.Şöyle yapabilirmiyiz?
......................
Resimler klasörüne "manzara" isimli bir jpeg resmi koyalım.
Resimler klasöründe [C10] hücre değerini isim olarak taşıyan bir resim yoksa "manzara" adındaki resim görüntülensin...
 
Son düzenleme:

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Kodu aşağıdaki gibi düzenleyin.

Kod:
[LEFT]Private Sub Worksheet_Change(ByVal Target As Range)
on error goto 10
if intersect(target,[c10]) is nothing then exit sub
Image1.Picture = LoadPicture(ThisWorkbook.Path & "\resimler\" & [c10] & ".jpg")
exit sub
10 Image1.Picture = LoadPicture(ThisWorkbook.Path & "\resimler\manzara.jpg")
End Sub[/LEFT]
 

aliakgul

Altın Üye
Katılım
9 Mayıs 2005
Mesajlar
402
Excel Vers. ve Dili
Ofis 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
03-08-2025
On Error GoTo 10

Yukarıda verdiğim satırda hata oluşuyor. Buradaki 10 neyi ifade ediyor?
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Kodda hata yapmışım yukarıda düzelttim tekrar deneyin. 10 kod içinde hata durumunda gidilecek satırın numarasıdır.
 

aliakgul

Altın Üye
Katılım
9 Mayıs 2005
Mesajlar
402
Excel Vers. ve Dili
Ofis 2016 TR 64 Bit
Altın Üyelik Bitiş Tarihi
03-08-2025
Bahsettiğim satırı silerek de halletmiştim, düzelttim.
Emekleriniz için çok teşekkür ederim.Elinize, yüreğinize sağlık...
 
Üst