Hücreye resim çekme

avare1907

Altın Üye
Katılım
27 Ekim 2016
Mesajlar
81
Excel Vers. ve Dili
excel 2010 türkçe
Altın Üyelik Bitiş Tarihi
20-08-2026
Değerli hocalarım,

Benim aşağıdaki gibi bir imalat programım var kafa karışıklığına sebep olmasın diye diğer sütunları eklemedim imalattaki arkadaşlarla şöyle bir sıkıntı yaşıyoruz programdaki bir parçanın o an bu hangi parçaydı diye düşündüğümüzde parçanın resmine erişmek istiyoruz buda anlık görüntülemelerde hantallık yaratıyor,

örneğin aşağıdaki 1. satırdaki 216581 numaralı parçanın resmini stok kodu ile kaydetsem satırın sonundaki x bir hücreye parçanın resmini çekebilir miyiz bu konu bizim için çok önemli konuya hakim hocalarımızdan desteğinizi rica ederim

Not: ilgili excel tablosunda userform ile sipariş satırlarını giriyoruz sayfanın içinde kod var

Stok Kodu

Parça No

P01-0317

216581 KOPPELSTANGE (B10)

P01-0269

11.26.014.60.0710.C03 TURBO FLANGE

P01-0136

02-251-08-01.0

P01-0165

V6A00288

D01-0264

110644 ROTOR RT ROH

D01-0171

63015-9 FLANGE

 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,532
Excel Vers. ve Dili
2019 Türkçe
Merhaba.

Hücre kendisi yerine hücre açıklamalarına eklemek daha kullanışlı olacaktır. Çünkü resim boyutuna göre hücreyi genişletseniz tablonuz biçimsiz olacaktır.
Sayfanın kod kısmına aşağıdaki kodu kopyalayın.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim KlasorYolu As String
    Application.ScreenUpdating = False
    KlasorYolu = ThisWorkbook.Path & "\Ürün Resimleri\"
    
    If Not Intersect(Target, Range("A2:A" & rows.count)) Is Nothing And Target.Value <> "" Then
        With Target
            If Target.Comment Is Nothing Then
                .AddComment
            End If
            .Comment.Visible = True
            .Comment.Shape.Select True
        End With
        If Dir(KlasorYolu & Target.Text & ".jpg") <> "" Then
            Selection.ShapeRange.Fill.UserPicture KlasorYolu & Target.Text & ".jpg"
        Else
            Selection.ShapeRange.Fill.UserPicture KlasorYolu & "Resim Yok.jpg"
        End If
        Target.Comment.Visible = False
    End If
    Target.Select
    Application.ScreenUpdating = True
End Sub
1-Excel dosyanızın bulunduğu klasöre yeni bir klasör açıp adını "Ürün Resimleri" yapın.
2-Bu klasör içine ürün fotoğraflarını kopyalayın. Fotoğraf isimlerini Stok kodları ile aynı olsun.
3-Stok kodlarının A sütununda olduğunu varsayarak kod yazılmıştır. Eğer farklı bir sütundaysa kodlardaki "A2:A" kısmını değiştirin.
4-Eğer bir ürünün fotoğrafı "Ürün Resimleri" klasöründe yoksa hata vermemesi ve sizin de anlayabilmeniz için "Resim Yok.jpg" adında bir resim hazırladım bu resmi "Ürün Resimleri" klasörüne kopyalayın.

Artık A sütununa bir stok kodu yazılırsa "Ürün Resimleri" klasöründeki ürün fotosu o hücrenin açıklamasına kopyalanacaktır.
 

avare1907

Altın Üye
Katılım
27 Ekim 2016
Mesajlar
81
Excel Vers. ve Dili
excel 2010 türkçe
Altın Üyelik Bitiş Tarihi
20-08-2026
Merhaba.

Hücre kendisi yerine hücre açıklamalarına eklemek daha kullanışlı olacaktır. Çünkü resim boyutuna göre hücreyi genişletseniz tablonuz biçimsiz olacaktır.
Sayfanın kod kısmına aşağıdaki kodu kopyalayın.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim KlasorYolu As String
    Application.ScreenUpdating = False
    KlasorYolu = ThisWorkbook.Path & "\Ürün Resimleri\"
   
    If Not Intersect(Target, Range("A2:A" & rows.count)) Is Nothing And Target.Value <> "" Then
        With Target
            If Target.Comment Is Nothing Then
                .AddComment
            End If
            .Comment.Visible = True
            .Comment.Shape.Select True
        End With
        If Dir(KlasorYolu & Target.Text & ".jpg") <> "" Then
            Selection.ShapeRange.Fill.UserPicture KlasorYolu & Target.Text & ".jpg"
        Else
            Selection.ShapeRange.Fill.UserPicture KlasorYolu & "Resim Yok.jpg"
        End If
        Target.Comment.Visible = False
    End If
    Target.Select
    Application.ScreenUpdating = True
End Sub
1-Excel dosyanızın bulunduğu klasöre yeni bir klasör açıp adını "Ürün Resimleri" yapın.
2-Bu klasör içine ürün fotoğraflarını kopyalayın. Fotoğraf isimlerini Stok kodları ile aynı olsun.
3-Stok kodlarının A sütununda olduğunu varsayarak kod yazılmıştır. Eğer farklı bir sütundaysa kodlardaki "A2:A" kısmını değiştirin.
4-Eğer bir ürünün fotoğrafı "Ürün Resimleri" klasöründe yoksa hata vermemesi ve sizin de anlayabilmeniz için "Resim Yok.jpg" adında bir resim hazırladım bu resmi "Ürün Resimleri" klasörüne kopyalayın.

Artık A sütununa bir stok kodu yazılırsa "Ürün Resimleri" klasöründeki ürün fotosu o hücrenin açıklamasına kopyalanacaktır.
Hocam öncelikle desteğiniz için teşekkür ederim,

1-Önce bir klasör açtım excel dosyamı onun içine attım
2-Sonra aynı klasörün içinde yeni bir klasör açıp ismini Ürün Resimleri olarak isimlendirdim ve stok kodu ile eşleşen bir resim ekledim
3-Dosyanın kod kısmının en altına inip yazmış olduğunuz kodu yapıştırdım (hiçbir hareket olmadı)
4- 2 farklı kod sayfası var diğerininde altına yapıştırdım ama yine çalışmadı nerde hata yapıyorum sizce ?
 

avare1907

Altın Üye
Katılım
27 Ekim 2016
Mesajlar
81
Excel Vers. ve Dili
excel 2010 türkçe
Altın Üyelik Bitiş Tarihi
20-08-2026
Muzaffer Bey yapmış olduğunuz örnek dosya neticesinde sorun çözüme kavuşmuş oldu eminim birçok kişinin işine yarayacaktır desteğiniz için çok teşekkür ediyorum saygılarımla...
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,532
Excel Vers. ve Dili
2019 Türkçe
Rica ederim. Kolay gelsin
 
Üst