- Katılım
- 20 Aralık 2006
- Mesajlar
- 939
- Excel Vers. ve Dili
- türkçe
Merhaba Değerli hocalarım,
Bir Yerde Takıldım Alttaki kodda RESİM klasör içindeki
resimleri b sütununa yazdığım isimlerle c sutununa aynı isimdeki resimleri alıyorum fakat bunu buton yolu ile yapamadım . bir butona atayıp tıklayınca otomatik yapmasını istiyorum yardımcı olursanız sevinirim
Bir Yerde Takıldım Alttaki kodda RESİM klasör içindeki
resimleri b sütununa yazdığım isimlerle c sutununa aynı isimdeki resimleri alıyorum fakat bunu buton yolu ile yapamadım . bir butona atayıp tıklayınca otomatik yapmasını istiyorum yardımcı olursanız sevinirim
Kod:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
Dim Resim As OLEObject
Dim Yeni_Resim As OLEObject
Dim Adres As Range
Dim Dosya_Yolu As String
Dim Resim_Adı As String
If Intersect(Target, [b:b]) Is Nothing Then Exit Sub
'If Target.Interior.ColorIndex <> 40 Or Target = "" Or Not IsNumeric(Target) Then Exit Sub
'If Target.Offset(0, -2) <> "MODEL:" Then Exit Sub
Application.ScreenUpdating = False
Dosya_Yolu = ThisWorkbook.Path & "\RESİMLER\"
Resim_Adı = Target.Value & ".jpg"
Set Adres = Range(Target.Offset(0, 1).Address, Target.Offset(0, 1).Address)
If ActiveSheet.Shapes.Count > 0 Then
For Each Resim In ActiveSheet.OLEObjects
If Not Intersect(Range(Resim.TopLeftCell.Address & ":" & Resim.BottomRightCell.Address), Adres) Is Nothing Then
Resim.Delete
End If
Next
End If
Set Yeni_Resim = ActiveSheet.OLEObjects.Add(ClassType:="Forms.Image.1", Link:=False, _
DisplayAsIcon:=False, Left:=Adres.Left, Top:=Adres.Top, Width:=Adres.Width, Height:=Adres.Height)
With Yeni_Resim
.Top = Adres.Top
.Left = Adres.Left
.Height = Adres.Height
.Width = Adres.Width
.Object.PictureSizeMode = fmPictureSizeModeStretch
End With
If Dir(Dosya_Yolu & Resim_Adı) <> "" Then
Yeni_Resim.Object.Picture = LoadPicture(Dosya_Yolu & Resim_Adı)
Else
Yeni_Resim.Object.Picture = LoadPicture(Dosya_Yolu & "Stok_Resmi_Yok.jpg")
End If
Application.ScreenUpdating = True
End Sub