• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Hücre dolunca Otomatik Makro çalıştırma

  • Konbuyu başlatan Konbuyu başlatan erdin06
  • Başlangıç tarihi Başlangıç tarihi
Katılım
12 Ağustos 2006
Mesajlar
41
Excel Vers. ve Dili
2007 Tr
Kolay gelsin ağalar,

benim de cok önemli ve acil bir konum var. Aşağıdaki gibi bir Makrom var. Şimdi benim istediğim ; A5 hücresine bir değer girdiğimde, bu makro otomatikman çalışsın. Denedim bir kaç yöntem ama maalesef başarılı olamadım. Umarım yardımcı olabilecek biri vardır. Şimdiden sonsuz teşekkürler

Sub Macro1()
'
' Macro1 Macro
'

'
Dim i As Long

i = Sheets("Sayfa1").Cells(Rows.Count, "H").End(3).Row + 1
If i < 3 Then i = 3

Range("A2").Copy
Sheets("Sayfa1").Range("A" & i).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Range("B2").Copy
Sheets("Sayfa1").Range("B" & i).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Range("K3").Copy
Sheets("Sayfa1").Range("C" & i).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Range("L3").Copy
Sheets("Sayfa1").Range("D" & i).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Range("M3").Copy
Sheets("Sayfa1").Range("G" & i).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

Range("N4").Copy
Sheets("Sayfa1").Range("H" & i).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False


Application.CutCopyMode = False

End Sub
 
ilgili sayfanın kod bölümüne; makro1 yazan yere çalışmasını istediğiniz makronun adını yazınız.

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A5]) Is Nothing Then Exit Sub
If Target.Value > 0 Then Call makro1
End Sub
 
ilgili sayfanın kod bölümüne; makro1 yazan yere çalışmasını istediğiniz makronun adını yazınız.

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A5]) Is Nothing Then Exit Sub
If Target.Value > 0 Then Call makro1
End Sub

Öncelikle alakanıza teşekkür ederim. Fakat şöyle bir sorun ortaya çıktı.
Hücrenin içeriğini elle değiştirdiğimde sorunsuz çalıştırıyor Makroyu amavelakin Copy Paste yöntemi ile hata veriyor. Ben de sürekli oraya birşeyler yapıştırmak zorundayım. Bunun için önleyici bir faaliyetiniz olabilir mi acaba???

P.S. Dosya çok büyük olduğundan ekleyemiyorum :(
 
Alıntı:
serqet tarafından gönderildi
ilgili sayfanın kod bölümüne; makro1 yazan yere çalışmasını istediğiniz makronun adını yazınız.

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A5]) Is Nothing Then Exit Sub
If Target.Value > 0 Then Call makro1
End Sub
Öncelikle alakanıza teşekkür ederim. Fakat şöyle bir sorun ortaya çıktı.
Hücrenin içeriğini elle değiştirdiğimde sorunsuz çalıştırıyor Makroyu amavelakin Copy Paste yöntemi ile hata veriyor. Ben de sürekli oraya birşeyler yapıştırmak zorundayım. Bunun için önleyici bir faaliyetiniz olabilir mi acaba???

P.S. Dosya çok büyük olduğundan ekleyemiyorum

Dosyanın içeriğini silip ekledim Saygılarımla
 

Ekli dosyalar

Bu arada şunu da belirtmek isterim ki ben A5 hücresine birşey yapıştırdıktan sonra o hücre içeriğini silmeden tekrardan başka bir veriyi üzerine yapıştırıyorum.
 
Nasıl bir hata veriyor ? bende üzerine yapıştırıncada sorunsuz çalışıyor ?
 

Ekli dosyalar

  • Hata.jpg
    Hata.jpg
    27.7 KB · Görüntüleme: 4
  • Hata2.jpg
    Hata2.jpg
    16.9 KB · Görüntüleme: 1
Aşağıdaki gibi bir hata veriyor. Bende anlamadım :(((( (Hata)



Debug deyince de = (Hata2)



Daha doğrusu veriyi aldığım yerden oraya yapıştırınca veriyor bu hatayı. Eğer ki Excel veya Word'den veri yapıştırınca sorunsuz çalışıyor.
Veriyi aldığım yer bizim şirketin kullandığı özel bir program :(
 
Geri
Üst