Excel sayfasina isim ve fotograf ekleme

Katılım
12 Mart 2009
Mesajlar
119
Excel Vers. ve Dili
Office 365 - Ingilizce
Arkadaslar selam oncelikle

Ben bundan 3 sene kadar once Turkiye'de yasarken excel ile ilgili bir cok tablo hazirliyordum ve bu sitedeki arkadaslarin cok yardimlarini gordum. Kendilerine ne kadar tesekkur etsem azdir.

Su an ise tamamen farkli bir sektorde calisiyorum, uzun suredir ilk kez excel ile ilgili bir yardim gerekli oldu. Yaptigim is dolayisi ile uzun surede tekrar ihtiyacim olmayacak. Eskiden ben bu siteden yardim aldigim zamanlarda tamamen ucretsizdi, simdi ise ne yazik ki ucret odemeden dosya indirip yukleyemiyoruz. Polonya'da yasadigim icin zaten buradan para aktarmam cok zor, hatta nasil yapabilirim hic bir fikrim yok.

Yardim gereken konuya gelecek olursak belki sizzler icin cok basit ama ben nasil yapabilirim bilmiyorum.

Bir dosya icerisinde fotograflar var, ve bir de bu fotograflarla ilgili excel listem var. Listedeki isimler ile dosyadaki fotograflarin isimleri ayni. Istedigim sey urun isminin yanina dosyadaki fotografin otomatik gelmesi.

Item Picture (seklinde sadece iki sutun yeterli)

Acaba bu mumkunmudur ve bu konuda uyelik satin almadan yardim alma sansim varmi ?
 
Katılım
12 Mart 2009
Mesajlar
119
Excel Vers. ve Dili
Office 365 - Ingilizce
Merhaba FredyCrouger Arkadaş,

https://www.dropbox.com/s/4ifhiijcji1elbk/Resimli.rar?dl=0

Bu link size örnek bir dosya getirecek. Resimleri ve isimleri değiştirip kolaylıkla kullanabilirsiniz.
İyi çalışmalar
Tevfik Bey merhaba

Oncelikle ilginiz icin cok tesekkur ederim. Eklediginiz dosyayi inceledim, fakat benim yapmak istedigimden biraz farkli gorunuyor. Resimler sayfasinda isim ve resimler var, sonuc sayfasina bu bilgi ve resimleri aktariyorsunuz.

Bendeki durum biraz farkli, elimde bir dosya var ve dosyanin icinde resimler var. Bir tanede excel listem mevcut, bu listede fotograflarla ayni isimde olan urunler var.

Bu dosyadaki resimleri excel dosyasindaki ayni ismin bulundugu hucrenin yanina tasitmak istiyorum. Mesela dosyaya yeni bir resim ekleyince ve resim ismini excel listesine yazinca o resmide otomatik tabloya eklemesi lazim. Yani dosya ve liste her zaman baglantili calismali.

Asagidaki linkte ornek dosya mevcut. Sadece aynisinin 3000 urun icin oldugunu dusunebilirsiniz.

http://dosya.co/dh0yzdzkvj81/example_list.zip.html

Ilginiz icin tekrar tesekkurler - Ferdi
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,849
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba,
Ben size oldukça kolay çalışan ve hata vermeyen bir dosya gönderdim. Bu dosya için bir kere uğraşırsınız. Eklemeler olduğunda sizi yormaz. Ayrıca UserForm, Label, CommandButton TextBox istemez. Okulda 5345 öğrenci için, parçacı bir dostumda da 8000 in üzerinde parça için uyguladım. Hiç sorun yaşamadım. Ben bıraktıktan sonra da hala bensiz kullanıyorlar. Bu nedenle size gönderdim.
Siteyi araştırırsanız istediğinize uygun örnek te bulabilirsiniz.
https://www.dropbox.com/s/xf4b4k8vtekuods/PERSONEL-RESİMLİ3.zip?dl=0
Bu link te sitedeki örneklerden biri. Kolay gelsin
İyi çalışmalar
 

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,175
Excel Vers. ve Dili
Ofis 2019 Türkçe
Altın Üyelik Bitiş Tarihi
27-05-2028
Aşağıdaki kodları sayfanın kod bölümüne yazarak deneyiniz, (kodlar Necdet Yeşertener hocama aittir)
Kod:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
 
    On Error GoTo Son
    If Intersect(Target, [A:A]) Is Nothing Then Exit Sub
    If Target.Row < 2 Then Exit Sub
    If Target.Value = "" Then Exit Sub
'    ActiveSheet.Pictures.Delete
    Dim Yol     As String, _
        Dosya   As String, _
        p       As Object, _
        t       As Double, _
        l       As Double, _
        w       As Double, _
        h       As Double
 
    Yol = "d:\foto\"
    Dosya = Yol & Target.Value & ".jpg"
    ' inserts a picture and resizes it to fit the TargetCells range
    If Dir(Dosya) = "" Then Exit Sub
 
    If Target.Offset(0, 1) > "" Then ActiveSheet.Shapes(Target.Offset(0, 1)).Delete
    ' import picture
    Set p = ActiveSheet.Pictures.Insert(Dosya)
    ' determine positions
    ' With TargetCells
    With Target.Offset(0, 1)
        .Value = p.Name
        t = .Top
        l = .Left
        w = .Offset(0, .Columns.Count).Left - .Left
        h = .Offset(.Rows.Count, 0).Top - .Top
    End With
    ' position picture
    With p
        .Top = t
        .Left = l
        .Width = w
        .Height = h
    End With
    Set p = Nothing
Son:
End Sub
 
Katılım
12 Mart 2009
Mesajlar
119
Excel Vers. ve Dili
Office 365 - Ingilizce
Aşağıdaki kodları sayfanın kod bölümüne yazarak deneyiniz, (kodlar Necdet Yeşertener hocama aittir)
Kod:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
 
    On Error GoTo Son
    If Intersect(Target, [A:A]) Is Nothing Then Exit Sub
    If Target.Row < 2 Then Exit Sub
    If Target.Value = "" Then Exit Sub
'    ActiveSheet.Pictures.Delete
    Dim Yol     As String, _
        Dosya   As String, _
        p       As Object, _
        t       As Double, _
        l       As Double, _
        w       As Double, _
        h       As Double
 
    Yol = "d:\foto\"
    Dosya = Yol & Target.Value & ".jpg"
    ' inserts a picture and resizes it to fit the TargetCells range
    If Dir(Dosya) = "" Then Exit Sub
 
    If Target.Offset(0, 1) > "" Then ActiveSheet.Shapes(Target.Offset(0, 1)).Delete
    ' import picture
    Set p = ActiveSheet.Pictures.Insert(Dosya)
    ' determine positions
    ' With TargetCells
    With Target.Offset(0, 1)
        .Value = p.Name
        t = .Top
        l = .Left
        w = .Offset(0, .Columns.Count).Left - .Left
        h = .Offset(.Rows.Count, 0).Top - .Top
    End With
    ' position picture
    With p
        .Top = t
        .Left = l
        .Width = w
        .Height = h
    End With
    Set p = Nothing
Son:
End Sub
Tahsin Bey yeni bir excel belgesi actim. Developer den Visual Basic sectim. acilan sayfada insert dedim ve module sectim. Verdiginiz kodlari oraya yapistirdim. Kod uzerinde sadece Yol = "d:\foto\" kismini Yol = "c:\foto\" olarak degistirdim cunki resim dosyasidi direk C nin altina koydum. Kaydetmek isteyince asagidaki hatayi aldim:




Bende Excel Macro-Enabled Template (*.xltm) olarak kaydettim.

Sayfaya donup ilk hucreye fotonun ismini yazdim fakat hic bir sey olmadi. Nerede yanlis yapiyorum inanin bilmiyorum.
 

tahsinanarat

Altın Üye
Katılım
14 Mart 2005
Mesajlar
2,175
Excel Vers. ve Dili
Ofis 2019 Türkçe
Altın Üyelik Bitiş Tarihi
27-05-2028
Kodlar sayfanın kod bölümüne eklenecek, sayfa sekmesi üzerinde sağ tıklayın kod görünteleyi seçin açılacak olan yere yapıştırın, modüle yapıştırılmayacak.
Eğer yapamazsanız bildirin dosya yükleyeyim.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,852
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Alternatif kod:
Kodları bir modülün içine ekleyin ve çalıştırın kod sayfanın yanındaki Resimler klasöründeki A sütununda yazılı resimleri B sütunundaki hücrelere getiriyor.
Resimler klasörün yerini (kırmızı bölüm) kendinize göre değiştirebilirsiniz.

resimleri silen kod:

Kod:
Sub resimleri_sil()
Dim Picture As Object
For Each Picture In ActiveSheet.Shapes
If TypeName(ActiveSheet.Shapes(Picture.Name).OLEFormat.Object) = "Picture" Then
Picture.Delete
End If
Next Picture
End Sub
resimleri ekleyen kod:

Kod:
Sub resim_ekle()
son = 3
ReDim uzanti(son)
uzanti(1) = ".bmp"
uzanti(2) = ".jpg"
uzanti(3) = ".gif"

Klasor = [COLOR="Red"]ThisWorkbook.Path & "\Resimler\"[/COLOR]

For i = 2 To Cells(Rows.Count, "A").End(3).Row
isim = Cells(i, 1).Value
Set Adres = Cells(i, 2)


Dim Picture As Object
For Each Picture In ActiveSheet.Shapes
yer = Cells(Picture.BottomRightCell.Row, Picture.BottomRightCell.Column).Address
yer1 = Adres.Address
If yer = yer1 Then
Picture.Delete
Exit For
End If
Next Picture


For j = 1 To son
Dosya = Klasor & isim & uzanti(j)
If CreateObject("Scripting.FileSystemObject").FileExists(Dosya) = True Then
ActiveSheet.Shapes.AddPicture Dosya, msoFalse, msoCTrue, Adres.Left + 2, Adres.Top + 2, Adres.Width - 4, Adres.Height - 4
ActiveSheet.Cells(i, 1).Select
Exit For
End If
Next

Next
End Sub
 
Katılım
12 Mart 2009
Mesajlar
119
Excel Vers. ve Dili
Office 365 - Ingilizce
Tahsin bey, sag tikladim view code sectim yine ayni yer acildi ( Visual basic ). Ve kaydetmek istedigim zaman ayni hata vs. degisen bir sey olmadi. Size zahmet olmazsa asagidaki ornegin icine ekleyebilirmisiniz bahsettiginiz sekilde ? Ayrica tam olarak nasil olmasi gerektigini gorebilirsiniz bu tabloda.

http://dosya.co/dh0yzdzkvj81/example_list.zip.html

Harcadiginiz zaman icin ne kadar tesekkur etsem azdir.
 
Katılım
12 Mart 2009
Mesajlar
119
Excel Vers. ve Dili
Office 365 - Ingilizce
Halit bey guleceksiniz belki ama yapamadim...

Dosyalarin yanina yeni bir excel dosyasi kaydettim. Kodlari yapistirdim, kaydet diyince yine ayni hatayi Verdi. Makrolar etkin seklinde kaydettim. ilk hucreye foto ismini girdim... ve yine hic bir sey olmadi.

Ozur dilerim, hayatimda ilk kez yapiyorum ve bir yerde sacma bir hata yapiyor olabilirim inanin.
 

halit3

Uzman
Uzman
Katılım
18 Ocak 2008
Mesajlar
12,852
Excel Vers. ve Dili
2003 excell türkçe
ve
2007 excell türkçe
Halit bey guleceksiniz belki ama yapamadim...

Dosyalarin yanina yeni bir excel dosyasi kaydettim. Kodlari yapistirdim, kaydet diyince yine ayni hatayi Verdi. Makrolar etkin seklinde kaydettim. ilk hucreye foto ismini girdim... ve yine hic bir sey olmadi.

Ozur dilerim, hayatimda ilk kez yapiyorum ve bir yerde sacma bir hata yapiyor olabilirim inanin.
Görsel video ekliyorum.

görsel video

Bu işlemleri yapmak için makrolar etkin olmalı

ofis 2003 için görsel video

ofis 2003

ofis 2007 ve üzeri için

görsel video
 
Katılım
12 Mart 2009
Mesajlar
119
Excel Vers. ve Dili
Office 365 - Ingilizce
Herkese cok ama cok tesekkurler. Sayenizde cok guzel bir tablo edindim, sagolun varolun...
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,849
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Sayın TahsinAnarat Arkadaşım,
Problemi gördüm, ilginize teşekkür ederim
İyi çalışmalar
 
Son düzenleme:

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,849
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Sayın Halit3 Hocam,
Şuna bir bakar mısınız, lütfen? A0100 e kadar A sütununa yazılmış ve resimler C:\Foto\ subdir inde. Silme çalıştı ama Ekle çalışmadı. Acaba nerede hata yap mışım?
İlginize çok teşekkür ederim.
Saygılarımla
 

Ekli dosyalar

Üst