Soru Veri Girişi Olduğunda Makroyu Çalıştırma

planyoq

Normal Üye
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhabalar şöyle bir sorunum var elimde klasörden fotoğraf çekmek için bir makro var herhangi bir sorun yok tam istediğim şekilde çalışıyor sadece bu kodu buton ile değil de C4 hücresine yeni veri girişi yapıldığında çalışacak şekilde düzenlemek istiyorum.
Şimdiden yardımınız için teşekkürler.
Sub MAKRO1()

With ActiveSheet
.Pictures.Delete
End With

Dim x

For i = 1 To 1


x = i * 1

Cells(13, "K").Select 'Resmin ekleneceği hücre
resimadi = LoadPicture("")
resimadi = Cells(1, "A").Text & ".jpg" ' Resmin alınacağı dosya adının olduğu hücre. Hücre içeriği ile dosya adı aynı olmalıdır.
On Error Resume Next
ActiveSheet.Pictures.Insert("\\ab02634-0010\Paylaşım\ÇAĞATAY\FOTO\" & resimadi).Select 'Resimlerin bulunduğu klasör yolu.
Selection.ShapeRange.LockAspectRatio = msoTrue
Selection.ShapeRange.Height = 50 'Resmin yüksekliğini ayarlayabilirsin
Selection.ShapeRange.Width = 180 'Resmin genişliğini ayarlayabilirsin
Selection.ShapeRange.Rotation = 0# 'Resmi yazacağın açı ile dönderebilirsin
Selection.ShapeRange.IncrementLeft 5 'Resmi hücrenin sol tarafındaki boşluğu ayarlayabilirsin.
Selection.ShapeRange.IncrementTop 5 'Resmi hücrenin üst tarafındaki boşluğu ayarlayabilirsin.


Next

End Sub

With ActiveSheet
.Pictures.Delete
End With

bir de şu kısım sayfadaki tüm resimleri kaldırıyor sanırım onun yerine sadece eklediği yerdeki yani K13 hücresindeki resmi silmesini sağlayabilirmisiniz
 
Sayfanın Change koduna:
Kod:
You must log in to view content
(3 satır)
yazmanız yeterli olur.

Diğer sorunuz içinde hücrede resim olmaz. Lakin her resmin bir adı vardır. O ad ile delete edebilirsiniz.
Ya da resmin adı hücreden alınıyorsa vs resmin adını hücreden aldıracak şekilde silme yaptırmanız gerekir.

Sheet1.Shapes("Rectangle 1").Delete kodu mesela Sheet1 üzerindeki Rectangle 1 isimli şekli siler.
Daha fazla detay yazabilmek için dosyanızı görmek yararlı olacaktır.
 
Sanırım istediğiniz şöyle @planyoq

Kodu, alt taraftan işlem yapılacak sayfanın adına fareyle sağ tıklayıp KOD GÖRÜNTÜLEyi seçtiğinizde açılacak
VBA ekranında sağ taraftaki boş alana yapıştırın ve C4 hücresinde elle değişiklik yapın veya C4 hücresine F2+ENTER işlemi yapın.
Varsa önce K13 hücresindeki eski resim silinir, koddaki yol = .... adresinde A1 hücresinde belirtilen isimde resim varsa eklenir.

VBA:
You must log in to view content
(34 satır)
 
Sanırım istediğiniz şöyle @planyoq

Kodu, alt taraftan işlem yapılacak sayfanın adına fareyle sağ tıklayıp KOD GÖRÜNTÜLEyi seçtiğinizde açılacak
VBA ekranında sağ taraftaki boş alana yapıştırın ve C4 hücresinde elle değişiklik yapın veya C4 hücresine F2+ENTER işlemi yapın.
Varsa önce K13 hücresindeki eski resim silinir, koddaki yol = .... adresinde A1 hücresinde belirtilen isimde resim varsa eklenir.

VBA:
You must log in to view content
(34 satır)
Hocam şöyle bir hata aldım benim C4 hücresine girdiğim veriye istinaden kişinin resim adı A1 hücresine geliyor bu kod ile C4 hücresine veri girdikten sonra enter yapamadım hata aldım direk dosya adı gelemedi yani sanırım o kısım kısıtlıyor bu işlemi yapmamı

1123.webp
 
Moderatörün son düzenlenenleri:
@planyoq
Örnek belge üzerinden yürümeyince maalesef bu tür sorunlar kaçınılmaz.
Verdiğim kod yapısı; C4 hücresinde elle değişiklik yapıldığında tetiklenir.

A1 hücresindeki formülünüzün nasıl sonuçlar ürettiğini bilemem ki!
Örneğin BOŞ seçeneği var mıdır bilmiyorum doğal olarak.
A1 formül sonucunun BOŞ olması seçeneği varsa;
hata veren o kod satırının hemen üstüne If [A1].Value = "" Then Exit Sub diye bir satır eklemelisiniz.
 
Konuyu başlatan
Normal Üye
Katılım
Konu Bilgi
Durum
Soru 
Forum
Excel Makro Soruları
Başlangıç tarihi
Son yanıt tarihi
Cevaplar
5
Üst