Juoksevan summan luominen Solun kommenttiin Excelissä OnEntry-makron avulla

Huomautus

Office 365 ProPlus nimetään uudelleen Microsoft 365 Apps for enterprise -sovellukseksi. Lisätietoja tästä muutoksesta on tässä blogikirjoituksessa.

Yhteenveto

Microsoft Excelissä voit välttää kehäviittauksia, kun luot juoksevan summan tallentamalla tuloksen laskentataulukon osaan, joka ei laske. Tässä artikkelissa on Microsoft Visual Basic for Applications -esimerkkimenettely, joka tekee tämän tallentamalla juoksevan summan solun kommenttiin.

Lisätietoja

Microsoft esittää ohjelmointiesimerkkejä vain asian havainnollistamiseksi, ilman suoraa tai epäsuoraa vastuuta niiden toimivuudesta. Tämä sisältää muunmuassa epäsuorat vastuut soveltuvuudesta kaupankäyntiin tai soveltuvuuteen yksilöityyn käyttöön. Tässä artikkelissa oletetaan, että olet perehtynyt käytettyyn ohjelmointikieleen, sekä proseduurien luonti- ja virheenkorjaustyökaluihin. Microsoftin tukihenkilöt voivat auttaa selvittämään tietyn proseduurin toiminnallisuutta, mutta he eivät muokkaa näitä esimerkkejä parantamaan yksittäisen tarpeen toiminnallisuutta eivätkä luo siihen proseduureja.

Juoksevan summan luominen soluun

  1. Avaa uusi työkirja Microsoft Excelissä.

  2. Käynnistä Visual Basic Editor (paina ALT + F11).

  3. Valitse Lisää-valikossa Moduuli.

  4. Kirjoita tähän moduuliin seuraavat makrot:

       ' 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. Kun olet kirjoittanut makrot, valitse Tiedosto-valikosta Sulje ja palaa Microsoft Exceliin.

  6. Tallenna ja sulje työkirja ja avaa se sitten uudelleen.

    Ohjelma Auto_Open, jonka kirjoitit, suoritetaan, kun avaat työkirjan.

  7. Valitse solu C3.

    Tämä on solu, joka sisältää juoksevan summan sisältävän kommentin.

  8. Suorita SetComment-makro seuraavasti:

    1. Osoita Työkalut-valikosta Makro ja valitse sitten Makrot
    2. Valitse Makro-valintaikkunassa AsetaComment ja valitse sitten Suorita.

Esimerkki juoksevan summan käyttämisestä

Jos haluat käyttää juoksevan summan, toimi seuraavasti:

  1. Kirjoita luku 10 soluun C3.
  2. Valitse solu C3 ja huomaa, että kommentissa näkyy teksti "RT= 10" (ilman lainausmerkkejä).
  3. Kirjoita luku 7 soluun C3.
  4. Valitse solu C3 ja huomaa, että kommentissa näkyy teksti "RT= 17" (ilman lainausmerkkejä).

Juoksevan summan poistaminen

Voit poistaa juoksevan summan seuraavasti:

  1. Valitse solu, joka sisältää juoksevan summan, jonka haluat poistaa.
  2. Napsauta solua hiiren kakkospainikkeella ja valitse pikavalikosta Poista kommentti.