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

  1. Microsoft Excel'de yeni bir çalışma kitabı açın.

  2. Visual Basic Düzenleyici başlatın (ALT+F11 tuşlarına basın).

  3. Ekle menüsünden Modül'e tıklayın.

  4. 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
    
  5. Makroları yazdıktan sonra, Dosya menüsünde Kapat ve Microsoft Excel'e Dön'e tıklayın.

  6. Ç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.

  7. C3 hücresine tıklayın.

    Bu, çalışan toplamı içeren bir açıklama içeren hücredir.

  8. SetComment makrosunu çalıştırmak için şu adımları izleyin:

    1. Araçlar menüsünde Makro'nun üzerine gelin ve ardından Makrolar'a tıklayın.
    2. 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:

  1. C3 hücresine 10 sayısını yazın.
  2. C3 hücresini seçin ve açıklamanın "RT= 10" (tırnak işaretleri olmadan) görüntülediğine dikkat edin.
  3. C3 hücresine 7 sayısını yazın.
  4. 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:

  1. Kaldırılmasını istediğiniz çalışan toplamı içeren hücreyi seçin.
  2. Hücreye sağ tıklayın ve kısayol menüsünde Açıklamayı Sil'e tıklayın.