• DİKKAT

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

Hücre değeri değişince makronun çalışması

Katılım
18 Ağustos 2009
Mesajlar
202
Excel Vers. ve Dili
Excel 365 - Türkçe
Hücre değeri değişince makronun otomatik çalışmasını istiyorum ve aşağıdaki kodu kullanıyorum bu kod çalışıyor.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then

Range("L10:L16").Select
Selection.ClearContents
Range("B3").Select

End If
End Sub

Ancak makroda aşağıdaki gibi başka bir çalışma sayfasına geçiş olduğunda ise kod çalışmıyor.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then

Sheets("LİSTE").Select
Range("L10:L16").Select
Selection.ClearContents
Range("B3").Select

End If
End Sub
 
merhaba.
Aşağıdaki gibi yapın
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then

Sheets("LİSTE").Select
activesheet.Range("L10:L16").Select
activesheet.Selection.ClearContents
activesheet.Range("B3").Select

End If
End Sub
 
malesef olmadı.
kullandığım kod tam olarak aşağıdaki.
koyu renkli yerlere Activesheet. ekledim ama olmadı.

Run-time error '438':
Object doesn't support this property or method

hatası veriyor

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then

Sheets("LİSTE").Select

Activesheet.Range("S13:AF23").Select
Activesheet.Selection.Copy
Activesheet.Range("S24:AF1651").Select
ActiveSheet.Paste

Activesheet.Range("S24:AF1651").Select
Activesheet.Selection.Copy
Activesheet.Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Activesheet.Range("B" & [AA1]).Select
ActiveWorkbook.Save

Sheets("Bilgi Fişi").Select
Activesheet.Range("L10:L16").Select
Activesheet.Selection.ClearContents
Activesheet.Range("B3").Select

End If
End Sub
 
Worksheet değilde Thisworkbook(bu calısma kitabı) modul kısmına asagidaki kodu yazmalısınız.


Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
'Kodunuzu buraya yazınız
If Not Intersect(Target, Range("A1")) Is Nothing Then
Msgbox "hücre değeri değişti"
End If

End sub

ASUS_Z00LD cihazımdan Tapatalk kullanılarak gönderildi
 
bu şekilde hata vermedi ama bu sefer de makro çalışmadı.

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Not Intersect(Target, Range("B1")) Is Nothing Then

buraya kodu yazdım

End If
End Sub
 
Tam olarak yapmak istediğinizi yazsanız daha iyi olur. Hangi sayfanın hangi hücreleri, ne yapıldığında, hangi sayfanın hangi hücrelerine gidecek? Tabi bunu örnek dosya ile gösterirseniz en güzeli.
 
Yusuf bey çalıştığım dosyayı ekledim. yardımcı olursanız sevinirim
 

Ekli dosyalar

İzin verirseniz ben de yardımcı olmak isterim.
Sayın @dedenet, yalnız bir sorun var, biz sizin ne yapmaya çalıştığınızı anlamadık.
Tamam her sıra numarası değiştiğinde kodlar çalışsın. Ama kodlar ne yapsın.
Yani net olarak anlamadığımız ve sorduğumuz şey: Sıra numarası değişince ne olsun?

Bir de eklediğiniz örnek dosyada hiç veri yok sadece biçimlendirmeler ve bir sayfada başlıklar var.
Örnek dosyanıza birkaç örnek veri ekleyerek paylaşırsanız daha iyi olur.
 
Module1 içinde kodla var. oradan anlaşılır diye düşünüyorum
 
Özür dilerim bir soru daha sormam gerekiyor cevap verirseniz sevinirim.
Size zahmet olmazsa rica etsem hangi sayfadaki hücreleri hangi sayfaya kopyalamak istediğinizi söyler misiniz? Sadece bunu söyleseniz yeterli gerisini ben hallederim.

Şimdiden teşekkürler.
 
öncelikle ilginiz için teşekkür ederim.
Sıra listesi dosyasında yapmak istediğim şu.
LİSTE sayfasında çok formül var. normal formül yazdığım zaman çok kasıyor.
bu yüzden makro yazdım. son değişiklere göre formülü kopyalayıp değerleri yapıştırarak formülleri ortadan kaldırıyor.
Bilgi fişi sayfasında bir numara girdiğim zaman LİSTE sayfasından bilgileri çekiyor.
ama LİSTE sayfasındaki bilgilerin güncellenmiş olması yani kopya / özel yapıştır / değerleri işlemin yapılmış olmalı.
bu yüzden bilgi fişi sayfasına kırmızı alana sayı girince hemen LİSTE sayfasına gitmesini orada kopya / özel yapıştır / değerleri işlemini yapmasını ve tekrar bilgi fişi sayfasına dönmesini istiyorum.
 
Dosyanızda tam 22 tane modül var, hangi modülde belirttiğiniz kodlar var diye hepsine bakmak hiç hoş olmadı.

LİSTE sayfasında kodlar var, bu kodlar E1 hücresine bir sayı girdiğinizde B sütununda bu sayıyı arıyor ve bulunca o hücreyi seçiyor.

Module1'de bulunan makro ise sayfa olaylarına bağlı bir kod olarak yazılmış, dolayısıyla çalışmaz.

Eski makroları unutun ve ne yapmak istediğinizi "bizim anlayabileceğimiz" şekilde yazın lütfen.

"ama LİSTE sayfasındaki bilgilerin güncellenmiş olması yani kopya / özel yapıştır / değerleri işlemin yapılmış olmalı. "

Burda güncellenmiş olması gereken veriler hangileridir? Belirli bir veri mi yoksa tüm sayfa mı?
 
Geri
Üst