Listbox ve İmage nesnesi

Katılım
6 Nisan 2006
Mesajlar
86
Excel Vers. ve Dili
2003 tr
Merhaba arkadaşlar

Yaptığım bir çalışmada excel sayfası üzerine yerleştirilmiş Listbox ve İmage nesnesi var.
Bu Listbox ta görmek istediğim liste "C:\Resimlerim " klasöründeki resimlerin adı olsun. Bu resimlerin isimlerini seçtikçe Image nesnesinde resimleri de görmek istiyorum. Bu işlemi User form üzerinde yapıyorum.
Ama excel sayfası üzerinde yapmak istiyorum. Yardımcı olabilirmisiniz
Teşekkür ederim.
 

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
C:\Resimlerim diye bir klasörünüzün olması ve içind jpg formatlı resim dosyalarınızın olması gerekiyor.
Ekli dosyayı inceleyiniz.:cool:
Kod:
Sub Auto_Open()
Set s1 = Sheets("Sayfa1")
yol = "C:\Resimlerim"
dosya = Dir(yol & "\*.jpg")
Do While dosya <> ""
    s1.ListBox1.AddItem dosya
    dosya = Dir
Loop
End Sub
Kod:
Private Sub ListBox1_Click()
Image1.Picture = LoadPicture("C:\Resimlerim\" & ListBox1.Value)
End Sub
 
Katılım
6 Nisan 2006
Mesajlar
86
Excel Vers. ve Dili
2003 tr
Verdi&#287;iniz cevap i&#231;in te&#351;ekk&#252;r ederim sn. Orion

Bi yandan cevap beklerken biyandan da ara&#351;t&#305;rma forumda yapt&#305;&#287;&#305;m bir ara&#351;t&#305;rmadan yrarlanarak olay&#305; a&#231;&#305;kl&#305;&#287;a kavu&#351;turdum. Ellerinize sa&#287;l&#305;k verdi&#287;iniz kod epey i&#351;ime yarayacak.
ba&#287;l&#305; olarak ba&#351;ka bir sorum olacak. bu yapt&#305;&#287;&#305;m resim getirme olay&#305;n&#305; veri do&#287;rulama y&#246;ntemi ile yap&#305;yorum h&#252;creye klas&#246;r i&#231;inde olmayan bir resmin ad&#305;n&#305; girdi&#287;imde hata kodu al&#305;yorum bu hatay&#305; nas&#305;l &#246;nlerim yani h&#252;creye daha klas&#246;re konmam&#305;&#351; bir resmin ad&#305;n&#305; girdi&#287;imde hata mesaj&#305; gelmesin yada klas&#246;r&#252;n i&#231;ine koyaca&#287;&#305;m bir &#252;nlem resmi gelsin.
ifadem kar&#305;&#351;&#305;k oldu ise &#246;z&#252;r dilerim. Yard&#305;m&#305;n&#305; bekliyorum.
sayg&#305;lar&#305;mla
 

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
Aşağıdaki kodlar çalışma sayfasının kod bölümüne yazılmıştır.
C:\Resimlerim klasöründe yok.jpg isminde bir resim dosyasının olması lazım.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo yok
If Intersect(Target, [B2]) Is Nothing Then Exit Sub
Image1.Picture = LoadPicture("C:\Resimlerim\" & Range("B2").Value)
Exit Sub
yok:
Image1.Picture = LoadPicture("C:\Resimlerim\yok.jpg")

End Sub
 
Katılım
6 Nisan 2006
Mesajlar
86
Excel Vers. ve Dili
2003 tr
merhabalar
&#246;ncelikle verdi&#287;iniz cevaplar i&#231;in te&#351;ekk&#252;r ediyorum
projem ilerledik&#231;e sorunlar de&#287;i&#351;iyor.

Sub Auto_Open()
Set s1 = Sheets("Giri&#351;")

yol = "C:\Resimlerim"
dosya = Dir(yol & "\*.jpg")
Do While dosya <> ""
s1.ComboBox1.AddItem dosya
dosya = Dir
Loop
End Sub
bu kodla c deki resimlerim klas&#246;r&#252;nden resim gitrmeyi ba&#351;ard&#305;m sayenizde

resim isimlerini combobox1 de listeliyorum ve buradan se&#231;ti&#287;im resim image nesnesinin &#252;zerine geliyor buraya kadar s&#252;per.

ikinci ad&#305;m
combobox1 in alt&#305;na command buton ekleyerek buna "Getir" ismini verdim.
Daha &#246;nceden "Giri&#351;" sayfas&#305;ndan girip "Data" sayfas&#305;na kaydetti&#287;im bilgiler var.
combobox1 de g&#246;r&#252;len resim isimleri ile "Data" sayfas&#305;ndaki "E" st&#252;nunda yer alan kodlar ayn&#305;d&#305;r. combodan listeleyip resmini g&#246;rd&#252;g&#252;m &#252;r&#252;n&#252; getir butonuna basarak data sayfas&#305;nda Kod st&#252;nunda arat&#305;p bulduktan sonra bu kodun bulundu&#287;u sat&#305;rdaki bilgileri giri&#351; sayfas&#305;nda yer alan yerlerine getirmesi gerekiyor.

Birde comboda g&#246;r&#252;len resim isimlerinin &#246;rne&#287;in:"140.jpg" de&#287;ilde "140" &#351;eklinde g&#246;stermek m&#252;mk&#252;nm&#252;d&#252;r.

sorular&#305;mla &#231;ok oluyorsam kusura bakmay&#305;n
Sayg&#305;lar&#305;mla
 

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
butona aşağıdaki kodu yazınız.:cool:
Image1.Picture = LoadPicture("C:\Resimlerim\" & combobox1.value)
 
Katılım
6 Nisan 2006
Mesajlar
86
Excel Vers. ve Dili
2003 tr
Sn orion
butona kodu yaz&#305;n demi&#351;siniz ama pek anlayamad&#305;m.
de&#287;i&#351;en bir &#351;ey olmad&#305; bu koddan ama&#231; nedir. ?
 

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
küçük bir örnek dosya ekleyiniz ve üzerine açıklamasını yazınız.:cool:
 
Katılım
6 Nisan 2006
Mesajlar
86
Excel Vers. ve Dili
2003 tr
Çalıştığım dosyamı ekliyorum ve yardımlarınızı bekliyorum.
 

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
Dosya uzantılarının gösterilmemesi benden .
Ekli dosyayı inceleyiniz.:cool:
 
Katılım
6 Nisan 2006
Mesajlar
86
Excel Vers. ve Dili
2003 tr
Te&#351;ekk&#252;rler sn. Orion
devam&#305; i&#231;in en ne yap&#305;labilir. en az&#305;ndan combodaki de&#287;eri data sayfas&#305;nda nas&#305;l arataca&#287;&#305;m hakk&#305;nda bi ip ucu verseydiniz :)
 

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
Dosyanız hazır.
Ekli dosyayı inceleyiniz.:cool:
Kod:
Private Sub cmdgetir_Click()
Sheets("Giriş").Select
Set s2 = Sheets("Data")
Range("C4:J6").ClearContents
Range("M5:N5").ClearContents
Range("B9:M23").ClearContents
sat = 9
Set k = s2.Range("E2:E65536").Find(Range("L5").Value, , xlValues, xlWhole)
If Not k Is Nothing Then
    Range("C4").Value = s2.Cells(k.Row, "G").Value
    Range("C5").Value = s2.Cells(k.Row, "H").Value
    Range("M5").Value = s2.Cells(k.Row, "F").Value
    Range("N5").Value = s2.Cells(k.Row, "B").Value
    For i = 12 To 110 Step 7
        If s2.Cells(k.Row, i).Value <> 0 Then
            Cells(sat, "B").Value = s2.Cells(k.Row, i).Value
            Cells(sat, "F").Value = s2.Cells(k.Row, i + 1).Value
            Cells(sat, "G").Value = s2.Cells(k.Row, i + 2).Value
            Cells(sat, "I").Value = s2.Cells(k.Row, i + 3).Value
            Cells(sat, "J").Value = s2.Cells(k.Row, i + 4).Value
            Cells(sat, "L").Value = s2.Cells(k.Row, i + 5).Value
            sat = sat + 1
        End If
    Next
End If
End Sub
 
Son düzenleme:
Katılım
6 Nisan 2006
Mesajlar
86
Excel Vers. ve Dili
2003 tr
sn. orion2
verdi&#287;iniz cevap ve &#231;&#246;z&#252;mler i&#231;in te&#351;ekk&#252;r ediyorum.
i&#351;im b&#252;y&#252;k &#246;l&#231;&#252;de tamamlanmak &#252;zere sa&#287;olun var olun.
sayg&#305;lar&#305;mla
 

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
sn. orion2
verdiğiniz cevap ve çözümler için teşekkür ediyorum.
işim büyük ölçüde tamamlanmak üzere sağolun var olun.
saygılarımla
Rica ederim.
İyi çalışmalar.:cool:
 
Üst