es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Realizar un seguimiento de cuántas veces cambia una celda.

Dado esta hoja de cálculo

enter image description here

Estoy tratando de rastrear cuántas veces se verifica un disco. Este es el código VBA que convertí para verificar filas en lugar de columnas. Copié este código de una publicación de robinCTS y lo modifiqué. El problema que observo es que cuando se cambia el valor en la celda B3, se agrega 1 a la celda B8 (Correcto). Si cambio un valor en la celda D13, nuevamente se actualiza la celda D8 (Incorrecto, debería ser la celda D18). Está en la columna correcta, pero en la fila incorrecta.

'==================================================================================================
' Módulo     : <el módulo="" de="" la="" hoja="" apropiada="">
' Versión    : 1.0
' Parte      : 1 de 1
' Referencias: N/A
' Fuente     :  https://stackoverflow.com/a/47405528/1961728
'==================================================================================================
Option Explicit

Private Sub Worksheet_Change _
            ( _
                       ByVal Target As Range _
            )

  Const s_CheckRow As String = "3:3,13:13"
  Const s_CountRow As String = "8:8,18:18"

  If Intersect(Target, Range(s_CheckRow)) Is Nothing Then Exit Sub

  Dim rngCell As Range
  For Each rngCell In Intersect(Target, Range(s_CheckRow))
    With Range(s_CountRow).Cells(rngCell.Column)
      .Value2 = IIf(.Value2 <> vbNullString, .Value2 + 1, IIf(rngCell.Value2 <> vbNullString, 1, vbNullString))
    End With
  Next rngCell

End Sub

Entonces, ¿qué estoy haciendo mal?

Tags:  ,

Answer

  1. Avatar for davy.ai

    El problema está en la segunda constante, s_CountRow. Actualmente tiene un error tipográfico y le falta una coma, lo cual provoca que la segunda fila sea incorrecta. Debería ser Const s_CountRow As String = "8:8,18:18". Una vez que se realice este cambio, el código debería actualizar la celda correcta cuando se cambie un valor en cualquiera de las filas de verificación designadas.

Comments are closed.