DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Şimdi oldu Teşekkürler bir ricam daha olacak EKTEKİ ÖRNEĞE GÖRE aynı sayfada birden farklı resim çağırma farklı ad soyadı kullanarak yan yana misal örnek birine C15 hücresinde yazınca gelecek diğerinde G15 hücresine yazınca RESİM getirebilirmiyiz.Neden olmadığını anlayamadım. Siz nasıl yapmak istiyorsunuz. İlk mesajınızda resimler dosyasının E de olacağı yazılı olmadığından, resim yolu masa üstüne göre ayarlı. Sadece Resimler yolu değiştirildiğinde çalışır.
Resimler klasörünü E ye koyun ve
ResimYolu = "C:\Users\PC\Desktop\çalışma\Resimler\" & Range("c15") & ".jpg" olan resim yolunu alttaki gibi değiştirin.
ResimYolu = "e:\Resimler\" & Range("c15") & ".jpg"
Ayrıca örnek dosya ekte....
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [B2]) Is Nothing Then Exit Sub
On Error GoTo çıkış
ActiveSheet.DrawingObjects.Delete
Dim ResimYolu As Variant
Dim Resim As Object
ResimYolu = ActiveWorkbook.Path & "\" & Range("B2") & ".png"
Set Resim = ActiveSheet.Pictures.Insert(ResimYolu)
With Range("F2")
Resim.Top = .Top
Resim.Left = .Left
Resim.Height = 400 '.Height 100
Resim.Width = 640 '.Width 575
End With
çıkış:
End Sub
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Resim As OLEObject, Yeni_Resim As OLEObject, Resim_Adres As Range, Yol As String, Resim_Adı As String
If Intersect(Target, [B12]) Is Nothing Then Exit Sub ' hedef B12 hücresi değilse çık
Application.ScreenUpdating = False
Yol = ThisWorkbook.Path & "\" ' Excel dosyasının bulunduğu klasör
Resim_Adı = [B12] & ".jpg" ' bulunduğu klasör içerisinde ki Resim adı
Set Resim_Adres = [F2] 'İlgili resmin kopyalanacağı hücre
If ActiveSheet.Shapes.Count > 0 Then
If Target = "" Then ' (B12 hücresi boş ise)
For Each Resim In ActiveSheet.OLEObjects 'Resimler için döngü
If Not Intersect(Range("F2:F2"), Resim_Adres) Is Nothing Then 'eğer resim adresi ilgili adres ise
Resim.Delete ' hücredeki resmi sil
End If
Next
Exit Sub
End If
End If
Set Yeni_Resim = ActiveSheet.OLEObjects.Add(ClassType:="Forms.Image.1", Link:=False, _
DisplayAsIcon:=False, Left:=Resim_Adres.Left, Top:=Resim_Adres.Top, _
Width:=Resim_Adres.Width, Height:=Resim_Adres.Height)
With Yeni_Resim
.Top = Resim_Adres.Top
.Left = Resim_Adres.Left
.Height = 400
.Width = 640
.Object.PictureSizeMode = fmPictureSizeModeStretch
End With
If Dir(Yol & Resim_Adı) <> "" Then
Yeni_Resim.Object.Picture = LoadPicture(Yol & Resim_Adı)
End If
Application.ScreenUpdating = True
End Sub
Option Explicit
Public Resim As Object, u As Variant
Public Resimyolu As String
Private Sub Worksheet_Change(ByVal Target As Range)
If [B12] <> "" Then
If Intersect(Target, [B12]) Is Nothing Then Exit Sub
[F2].Select
Resimyolu = ActiveWorkbook.Path & "\" & [B12] & ".png"
Set Resim = ActiveSheet.Pictures.Insert(Resimyolu)
With Resim
.Top = .Top
.Left = .Left
.Height = 400
.Width = 600
End With
[B12].Select
Else
If [B12] = "" Then
Resim.Name = u
ActiveSheet.Shapes.Range(Array("" & Resim.Name & "")).Delete
End If
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
u = [B12]
End Sub
DeneyinizSayın usubaykan merhaba,
İlginiz için teşekkür ederim.
Gönderdiğiniz dosyada resimler üst üste biniyor demişsiniz sanırım sorun buydu yanlış anlamadıysamSayın metin_0606 merhaba,
İlginiz için teşekkür ederim,
Ekli dosya, sanırım yanlış dosya, yanılmıyorsam benim gönderdiğim kodları içeriyor,
Kontrol ederseniz memnun olurum.
Gönderdiğiniz dosyada resimler üst üste biniyor demişsiniz sanırım sorun buydu yanlış anlamadıysam