Excel'de belirli hücreler değiştiğinde makro nasıl çalıştırılır?
Özet
Microsoft Excel'de, yalnızca belirli bir sayfadaki bir hücreye veya şu anda açık olan herhangi bir sayfaya bir değer girildiğinde çağrılan bir makro oluşturabilirsiniz.
Ancak, Excel'in performansını yavaşlattığı için makroları gereksiz yere çağırmamanız gerektiğini unutmayın.
Daha fazla bilgi
Microsoft, programlama örneklerini yalnızca gösterim amacıyla sağlar; örtülü veya açık garanti vermez. Buna zımni garantiler, satılabilirlik veya belirli bir amaca uygunluk da dahildir, ancak bunlarla sınırlı değildir. Bu makale, gösterilen programlama dilini ve yordamları oluşturmak ve hata ayıklamak amacıyla kullanılan araçları kullanmayı bildiğinizi varsayar. Microsoft destek mühendisleri, belirli bir yordamın işlevselliğinin açıklanmasına yardımcı olabilir, ancak gereksinimlerinizi karşılamaya yönelik olarak ek işlevsellik sağlamak veya yordamlar geliştirmek amacıyla bu örnekleri değiştirmezler. Pek çok durumda, makro yalnızca belirli sayıda hücrenin içine girilen değerlere (bu belgedeki "anahtar hücreler" olarak adlandırılır) sahip olduğunda çalıştırılmalıdır. Büyük bir makronun bir sayfanın hücresine her değer girişinde çalışmasını önlemek için ActiveCell'in anahtar hücrelerden biri olup olmadığını kontrol etmeniz gerekir. Bunu yapabilmek için, ActiveCell'deki Intersect yöntemini ve ActiveCell'in anahtar hücrelerden biri olduğunu doğrulamak için anahtar hücreleri içeren aralığı kullanın. ActiveCell anahtar hücrelerini içeren aralıktaysa, makroyu çağırabilirsiniz.
Visual Basic makrosunu oluşturmak için:
Sheet1 sekmesine sağ tıklayın ve Kodu Göster'e tıklayın.
Sheet1'in arkasındaki modül sayfası açılır.
Modül sayfasına aşağıdaki kodu yazın:
Private Sub Worksheet_Change(ByVal Target As Range) Dim KeyCells As Range ' The variable KeyCells contains the cells that will ' cause an alert when they are changed. Set KeyCells = Range("A1:C10") If Not Application.Intersect(KeyCells, Range(Target.Address)) _ Is Nothing Then ' Display a message when one of the designated cells has been ' changed. ' Place your code here. MsgBox "Cell " & Target.Address & " has changed." End If End Sub
Dosya menüsünde Kapat ve Microsoft Excel'e Dön'ü tıklatın.
Sheet1'de A1:C10 hücrelerine bir giriş yazdığınızda, bir ileti kutusu görüntülenir.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin