Soru DİĞER SAYFADAN RESİM ÇEKME

Katılım
2 Eylül 2014
Mesajlar
144
Excel Vers. ve Dili
2016 Türkce 64bit
Altın Üyelik Bitiş Tarihi
30-12-2022
Merhabalar
Bu konu hakkında evet birden fazla açılmış konu var.
Ayrıca internette farklı yöntemler de buldum ama hiç birini kullanamadım.
* Makrosuz olarak yapmaya çalıştığımda Resime ad tanımlar iken "Başvuru Geçerli Değil" uyarısı arıyorum.
*Makrolu olarak başka excellerde kullandığım resim çağırma formülleri mevcut. Ama bu formatta makrosuz olması önceliğim
Yapmaya çalıştığım şu şekilde
"COLORS" sayfasındaki renkleri solundaki kodlarına göre "MATRIX" sayfasında bu kodu yazdığım hücrenin bir üst satırına resmin gelmesi gerekmekte.
Matris çok uzayıp gittiği için ya bu makro "MATRIX" sayfasının herhangi bir yerinede yazsan bir üstüne o koda ait resim gelecek şekilde olacak yada makrosuz yol ile çözüp veri doğrulama olan hücreyi her yere kopyalıcaz diye düşünüyorum.

Birde bu resimler mükerrer olarak birden fazla kez defalarca kullanılacağı için çalışma kitabının boyutu artacak. Dolayısıyla ilerde dosyayı kullanabilmek adına kasmayacak bir yöntem bulmam gerekiyor.

Şimdiden teşekkürler
 

Ekli dosyalar

Katılım
2 Eylül 2014
Mesajlar
144
Excel Vers. ve Dili
2016 Türkce 64bit
Altın Üyelik Bitiş Tarihi
30-12-2022
Merhabalar,
Yardımcı olabilecek var mıdır ?
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,708
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Merhaba,

"MATRIX" sayfanızda, "E4" hücresi için ResimalE isimli ad tanımlama yapılmıştır,

=DOLAYLI("COLORS!b"&KAÇINCI(MATRIX!$E$4;COLORS!$A$2:$A$15;0)+1)

Diğer hücreler için de , her birine özel ayrı ayrı ad tanımlama yapabilir siniz,

Örneğin ; ResimalF, ResimalG vb.

Kolay gelsin.
 

Ekli dosyalar

Katılım
2 Eylül 2014
Mesajlar
144
Excel Vers. ve Dili
2016 Türkce 64bit
Altın Üyelik Bitiş Tarihi
30-12-2022
Merhaba,

"MATRIX" sayfanızda, "E4" hücresi için ResimalE isimli ad tanımlama yapılmıştır,

=DOLAYLI("COLORS!b"&KAÇINCI(MATRIX!$E$4;COLORS!$A$2:$A$15;0)+1)

Diğer hücreler için de , her birine özel ayrı ayrı ad tanımlama yapabilir siniz,

Örneğin ; ResimalF, ResimalG vb.

Kolay gelsin.
Teşekkürler vaktiniz için.
Lakin bu şekilde benim alt alta yaklaşık 250 / 300 satırım ve her satır için yaklaşık 20-30 farklı kombinasyonum olacağından her biri için bir formul oluşturmak imkansiza dönecek.
Makrodan başka bir çözüm bulamayacağız galiba :(

birde bu aldığım "Başvuru Geçerli Değil " hatasının sebebi nedir ?
 

1Al2Ver

Altın Üye
Katılım
5 Kasım 2007
Mesajlar
4,708
Excel Vers. ve Dili
64 Bit TR - Microsoft Office 365 - Win11 Home
Altın Üyelik Bitiş Tarihi
04-01-2026
Merhaba,

Rica ederim, makro nihai çözüm olabilir,

Arşivimde, *.jpg uzantılı resimleri klasörden alan bir kod var, ancak dosyanın yapısı yukarıdan aşağıya doğru,

Renk isimleri B2:B, gelecek olan resimler F2:F aralığında, bunları sütun olarak değiştirebilir siniz,

Bir klasör içine resimleri kayıt edin, ayrıca bir excel dosyasını da ( dosya adı, örn; MATRIX ) klasöre kayıt edin,

Sonrasında, MATRIX sayfasında, örneğin B2'den renk adı seçince, F2'ye renk resmi gelecektir,


Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [b:b]) Is Nothing Then Exit Sub
On Error GoTo çıkış
ActiveSheet.DrawingObjects.Delete
Dim ResimYolu As Variant
Dim Resim As Object
For satır = 2 To 10 ' 2 nci satırdan 10 ncu satıra kadar
ResimYolu = ActiveWorkbook.Path & "\" & Range("b" & satır) & ".jpg"
Set Resim = ActiveSheet.Pictures.Insert(ResimYolu)
With Range("f" & satır)
Resim.Top = .Top
Resim.Left = .Left
Resim.Height = .Height
Resim.Width = .Width
End With
Next satır
çıkış:
End Sub
 

Ekli dosyalar

Son düzenleme:
Katılım
2 Eylül 2014
Mesajlar
144
Excel Vers. ve Dili
2016 Türkce 64bit
Altın Üyelik Bitiş Tarihi
30-12-2022
Merhaba,

Rica ederim, makro nihai çözüm olabilir,

Arşivimde, *.jpg uzantılı resimleri klasörden alan bir kod var, ancak dosyanın yapısı yukarıdan aşağıya doğru,

Renk isimleri B2:B, gelecek olan resimler F2:F aralığında, bunları sütun olarak değiştirebilir siniz,

Bir klasör içine resimleri kayıt edin, ayrıca bir excel dosyasını da ( dosya adı, örn; MATRIX ) klasöre kayıt edin,

Sonrasında, MATRIX sayfasında, örneğin B2'den renk adı seçince, F2'ye renk resmi gelecektir,


Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [b:b]) Is Nothing Then Exit Sub
On Error GoTo çıkış
ActiveSheet.DrawingObjects.Delete
Dim ResimYolu As Variant
Dim Resim As Object
For satır = 2 To 10 ' 2 nci satırdan 10 ncu satıra kadar
ResimYolu = ActiveWorkbook.Path & "\" & Range("b" & satır) & ".jpg"
Set Resim = ActiveSheet.Pictures.Insert(ResimYolu)
With Range("f" & satır)
Resim.Top = .Top
Resim.Left = .Left
Resim.Height = .Height
Resim.Width = .Width
End With
Next satır
çıkış:
End Sub
Teşekkürler tekrardan biraz kurcalıyacagım benzer bir makro ile. bakalım olamazsa konuyu makro için tekrar açıcaz :(
 
Üst