Suggerimento: le altre lingue sono tradotte da Google. Puoi visitare il English versione di questo link.
Connetti
x
or
x
x
Registratevi
x

or

Come contare il numero di volte in cui una cella viene cambiata in Excel?

Per contare il numero di volte in cui una cella viene cambiata in Excel, questo articolo può aiutarti.

Contare il numero di volte in cui una cella viene cambiata con il codice VBA

Scheda Office Abilita la modifica e la navigazione a schede in Office e semplifica notevolmente il tuo lavoro ...
Kutools per Excel risolve la maggior parte dei problemi e aumenta la produttività del 80%
  • Riutilizzare qualsiasi cosa: Aggiungi le formule più utilizzate o complesse, i grafici e qualsiasi altra cosa ai tuoi preferiti e riutilizzali rapidamente in futuro.
  • Più delle funzioni di testo di 20: Estrai numero da stringa di testo; Estrai o rimuovi parte di testi; Converti numeri e valute in parole inglesi ...
  • Unisci strumenti: Più cartelle di lavoro e fogli in uno; Unisci più celle / righe / colonne senza perdere dati; Unisci righe duplicate e somma ...
  • Strumenti di divisione: Suddivisione dei dati in più fogli in base al valore; Una cartella di lavoro per più file Excel, PDF o CSV; Una colonna a più colonne ...
  • Incolla Saltare Righe nascoste / filtrate; Conte E Somma per colore di sfondo; Crea una mailing list e Invia e-mail in base al valore della cella...
  • Super filtro: Crea schemi di filtro avanzati e applica a tutti i fogli; Ordinare per settimana, giorno, frequenza e altro; Filtro da grassetto, formule, commento ...
  • Oltre alle potenti funzionalità di 300; Funziona con Office 2007-2019 e 365; Supporta tutte le lingue; Facile implementazione nella tua azienda o organizzazione.

Contare il numero di volte in cui una cella viene cambiata con il codice VBA


Si prega di fare quanto segue per contare il numero di volte in cui una cella viene cambiata in Excel.

1. Nel foglio di lavoro è necessario conteggiare le modifiche totali di una cella specificata, fare clic con il pulsante destro del mouse sulla scheda del foglio e quindi fare clic su Visualizza codice dal menu di scelta rapida. Vedi screenshot:

2. In apertura Microsoft Visual Basic, Applications Edition finestra, per favore copia e incolla sotto il codice VBA nella finestra del codice.

Codice VBA: conta il numero di volte in cui una cella viene cambiata in Excel

Dim xCount As Integer

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim xRg As Range, xCell As Range
    On Error Resume Next
    If Target = Range("B9") Then
        xCount = xCount + 1
        Range("C9").Value = xCount                                     
    End If
    Application.EnableEvents = False
    Set xRg = Application.Intersect(Target.Dependents, Me.Range("B9"))
    If Not xRg Is Nothing Then
        xCount = xCount + 1
        Range("C9").Value = xCount
    End If
    Application.EnableEvents = True
End Sub

Note: Nel codice, B9 è la cella di cui hai bisogno per contare le sue modifiche e C9 è la cella per popolare il risultato del conteggio. Si prega di cambiarli di cui hai bisogno.

D'ora in poi, quando le modifiche apportate nella cella B9, il suo numero totale di modifiche verrà sovrapposto e popolato automaticamente nella cella C9.


Kutools per Excel risolve la maggior parte dei problemi e aumenta la produttività del 80%

  • Riutilizzo: Inserire rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Cifra le celle con password; Crea mailing list e invia email ...
  • Super Formula Bar (modifica facilmente più righe di testo e formula); Layout di lettura (leggere e modificare facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere i dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Previeni celle duplicate; Confronta le gamme...
  • Seleziona Duplica o Unica Righe; Seleziona righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molti libri di esercizi; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento alla formula; Creazione automatica di riferimenti a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • estrarre il testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare subtotali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtro ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale di grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle basate su colonne chiave; Dividi i dati in più fogli; Converti in batch xls, xlsx e PDF...
  • Oltre alle potenti funzionalità di 300. Supporta Office / Excel 2007-2019 e 365. Supporta tutte le lingue. Facile implementazione nella tua azienda o organizzazione. Funzioni complete di prova gratuita di 30-day.
kte tab 201905

Scheda Office Porta l'interfaccia a schede a Office e semplifica notevolmente il lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Editore, accesso, Visio e progetto.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la tua produttività di 50% e riduce centinaia di clic del mouse per te ogni giorno!
fondo officetab
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Mason · 2 months ago
    Can anyone help me achieve the coding for Counting the time a cell has been changed to "Revalidate" and can that be applied down the entrieity of a column.
  • To post as a guest, your comment is unpublished.
    JediTrader · 5 months ago
    Team,

    When I tried using :

    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim xRg As Range, xCell As Range
    Dim xSRg, xRRg As Range
    Dim xFNum As Long

    Set xSRg = Range("B9:B1000")
    Set xRRg = Range("C9:C1000")

    carefully changing the Range and Target cells vis a vis P2:P200 and X2:X200 respectively, I dont the change-count in X Column despite myself trying to change cells across multiple rows across P2:P200.

    Any help would be greatly appreciated.

    Regards
    JT
  • To post as a guest, your comment is unpublished.
    Shiju · 7 months ago
    Hello All,

    The solution as provided under "Count Number Of Times A Cell Is Changed With VBA Code" is good if we are only tracking changes to ONE CELL. Please suggest, what modifications are needed, if the tracking is to be done for multiple cells. In case of multiple cells, the incremental counter should appear next to the cell for which the change in value is being tracked.
    • To post as a guest, your comment is unpublished.
      Shiju · 7 months ago
      Looking forward for help and assistance to have a specific VBA code, which can be applied to multiple cells in one worksheet.
      • To post as a guest, your comment is unpublished.
        crystal · 7 months ago
        Hi Shiju,
        Please try the below VBA code. Thanks for commenting.

        Private Sub Worksheet_Change(ByVal Target As Range)
        Dim xRg As Range, xCell As Range
        Dim xSRg, xRRg As Range
        Dim xFNum As Long

        Set xSRg = Range("B9:B1000")
        Set xRRg = Range("C9:C1000")

        Application.EnableEvents = False
        On Error Resume Next
        For xFNum = 1 To xSRg.count
        If Target = xSRg.Item(xFNum) Then
        xRRg.Item(xFNum).Value = xRRg.Item(xFNum).Value + 1
        Application.EnableEvents = True
        Exit Sub
        End If
        Next xFNum
        Application.EnableEvents = True
        End Sub
  • To post as a guest, your comment is unpublished.
    Kevin · 1 years ago
    Did you figure this out. I too am interested in this for checking multiple cells. Haven’t tried it yet.
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Hi Kevin,

      The following code can help you solving the problem. Thanks for your comment.
      Private Sub Worksheet_Change(ByVal Target As Range)
      Dim xRg As Range, xCell As Range
      Dim xSRg, xRRg As Range
      Dim xFNum As Long

      Set xSRg = Range("B9:B1000")
      Set xRRg = Range("C9:C1000")

      Application.EnableEvents = False
      On Error Resume Next
      For xFNum = 1 To xSRg.count
      If Target = xSRg.Item(xFNum) Then
      xRRg.Item(xFNum).Value = xRRg.Item(xFNum).Value + 1
      Application.EnableEvents = True
      Exit Sub
      End If
      Next xFNum
      Application.EnableEvents = True
      End Sub
  • To post as a guest, your comment is unpublished.
    Jan · 1 years ago
    Thank you very much ! This works great.

    But how do you get the same function/rule to work for a range of cells, along an entire column, for example?

    I have a list of my business' contacts on different rows, with their contact details in different columns, and I want a add a column that registers and counts the number of times a given cell along each row is changed. The code you gave works great, but only for one cell at a time !

    I'm new to VBA, so I would greatly appreciate your support.

    I tried adding a range of cells into the code, so instead of "B9" and "C9", as given in the example above, I played around with variations like "B:B", "C:C", or "B9:B1000" and "C9:C1000", without any success.

    Thanks in advance,
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Hi Jan,
      Please try the below VBA code. Hope it can help. Thanks for your comment.

      Private Sub Worksheet_Change(ByVal Target As Range)
      Dim xRg As Range, xCell As Range
      Dim xSRg, xRRg As Range
      Dim xFNum As Long

      Set xSRg = Range("B9:B1000")
      Set xRRg = Range("C9:C1000")

      Application.EnableEvents = False
      On Error Resume Next
      For xFNum = 1 To xSRg.count
      If Target = xSRg.Item(xFNum) Then
      xRRg.Item(xFNum).Value = xRRg.Item(xFNum).Value + 1
      Application.EnableEvents = True
      Exit Sub
      End If
      Next xFNum
      Application.EnableEvents = True
      End Sub
      • To post as a guest, your comment is unpublished.
        Jonathan · 1 years ago
        Hi Crystal,

        This is brilliant, on my matrix I have used this on one of the columns but I have struggled to duplicate this across multiple columns. Do you have a solution?

        Thanks in Advance

        • To post as a guest, your comment is unpublished.
          Tom Cappelletti · 1 months ago
          Could you provide the entire code set? I'm assuming Crystal's code gets integrated with other code? Thanks