- Katılım
- 1 Aralık 2017
- Mesajlar
- 222
- Excel Vers. ve Dili
- Microsoft Office 365 ProPlus
- Altın Üyelik Bitiş Tarihi
- 18-01-2025
merhabalar,
öncelikle düşüncemi aktarayım.
istediğim . excelde personel kayıtlarını ekledikce son satırda yazdığım sicil numarasına göre son eklenen personelin resmini görmek istiyorum. bunu aşağıdaki kod ile yaptım. fakat şöyle bir sorunum oluştu her satır daki sicilin resmini alıyor üst üste ekliyor en son resmi getiriyor. benim istediğim son eklenen sicile göre resim getirsin bir öncekini silsin "
For satır = 3 To 6000
"bu yerden şüphelenmekteyim. yardımlarınızı beklemekteyim.
öncelikle düşüncemi aktarayım.
istediğim . excelde personel kayıtlarını ekledikce son satırda yazdığım sicil numarasına göre son eklenen personelin resmini görmek istiyorum. bunu aşağıdaki kod ile yaptım. fakat şöyle bir sorunum oluştu her satır daki sicilin resmini alıyor üst üste ekliyor en son resmi getiriyor. benim istediğim son eklenen sicile göre resim getirsin bir öncekini silsin "
For satır = 3 To 6000
"bu yerden şüphelenmekteyim. yardımlarınızı beklemekteyim.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [E:E]) Is Nothing Then Exit Sub
'hata kontrolü
On Error Resume Next
'Resimleri Sil
ActiveSheet.DrawingObjects.Delete
'Resim yolunun bulunması
Dim ResimYolu As Variant
Dim Resim As Object
For satır = 3 To 6000
ResimYolu = "\\Share\revir$\PERSONEL_RESIMLERI\Güncel resimler (silinmeyecek)\" & Range("e" & satır) & ".jpg"
'Resmi oluştur
Set Resim = ActiveSheet.Pictures.Insert(ResimYolu)
'Resmi boyutlandır
With Range("C1")
Resim.Top = .Top
Resim.Left = .Left
Resim.Height = .Height
Resim.Width = .Width
End With
Next
With Target
If .Row < 1 Then Exit Sub
.Offset(1, -2) = ""
If .Value = "" Then Exit Sub
.Offset(0, -2) = Date
End With
With Target
If .Row < 1 Then Exit Sub
.Offset(1, -1) = ""
If .Value = "" Then Exit Sub
.Offset(0, -1) = Time
End With
End Sub
Son düzenleme: