Excel'de hücre açıklamasında çalışan bir toplam oluşturmak için OnEntry makrosunu kullanma
Özet
Microsoft Excel'de, sonucu çalışma sayfasının hesaplanmayan bir bölümünde depolayarak çalışan bir toplam oluşturduğunuzda döngüsel başvurulardan kaçınabilirsiniz. Bu makale, çalışan toplamı bir hücre açıklamasında depolayarak bunu sağlayan örnek bir Microsoft Visual Basic for Applications yordamı içerir.
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.
Hücrede Çalışan Toplam Oluşturmak için
Microsoft Excel'de yeni bir çalışma kitabı açın.
Visual Basic Düzenleyici başlatın (ALT+F11 tuşlarına basın).
Ekle menüsünden Modül'e tıklayın.
Bu modüle aşağıdaki makroları yazın:
' The Auto_Open name forces this macro to run every time ' the workbook containing this macro is opened. Sub Auto_Open() ' Every time a cell's value is changed, ' the RunningTotal macro runs. Application.OnEntry = "RunningTotal" End Sub '---------------------------------------------------------- ' This macro runs each time the value of a cell changes. ' It adds the current value of the cell to the value of the ' cell comment. Then it stores the new total in the cell comment. Sub RunningTotal() On Error GoTo errorhandler ' Skip cells that have no comment. With Application.Caller ' Checks to see if the cell is a running total by ' checking to see if the first 4 characters of the cell ' comment are "RT= ". NOTE: there is a space after the equal ' sign. If Left(.Comment.Text, 4) = "RT= " Then ' Change the cell's value to the new value in the cell ' plus the old total stored in the cell comment. RT = .Value + Right(.Comment.Text, Len(.Comment.Text) - 4) .Value = RT ' Store the new total in the cell note. .Comment.Text Text:="RT= " & RT End If End With Exit Sub ' Skip over the errorhandler routine. errorhandler: ' End the procedure if no comment in the cell. Exit Sub End Sub '-------------------------------------------------------------- ' This macro sets up a cell to be a running total cell. Sub SetComment() With ActiveCell ' Set comment to indicate that a running total is present. ' If the ActiveCell is empty, multiplying by 1 will ' return a 0. .AddComment .Comment.Text Text:="RT= " & (ActiveCell * 1) End With End Sub
Makroları yazdıktan sonra, Dosya menüsünde Kapat ve Microsoft Excel'e Dön'e tıklayın.
Çalışma kitabı olduğunuzu kaydedip kapatın ve yeniden açın.
Yazdığınız Auto_Open makro, çalışma kitabını açtığınızda çalıştırılır.
C3 hücresine tıklayın.
Bu, çalışan toplamı içeren bir açıklama içeren hücredir.
SetComment makrosunu çalıştırmak için şu adımları izleyin:
- Araçlar menüsünde Makro'nun üzerine gelin ve ardından Makrolar'a tıklayın.
- Makro iletişim kutusunda SetComment'a ve ardından Çalıştır'a tıklayın.
Çalışan Toplamı Kullanma Örneği
Çalışan toplamı kullanmak için şu adımları izleyin:
- C3 hücresine 10 sayısını yazın.
- C3 hücresini seçin ve açıklamanın "RT= 10" (tırnak işaretleri olmadan) görüntülediğine dikkat edin.
- C3 hücresine 7 sayısını yazın.
- C3 hücresini seçin ve açıklamanın "RT= 17" (tırnak işaretleri olmadan) görüntülediğine dikkat edin.
Çalışan Toplamı Kaldırmak için
Çalışan toplamı kaldırmak için şu adımları izleyin:
- Kaldırılmasını istediğiniz çalışan toplamı içeren hücreyi seçin.
- Hücreye sağ tıklayın ve kısayol menüsünde Açıklamayı Sil'e tıklayın.
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