Contar numero celda con condición comentario y valor

Busco una instrucción que recorra una columna y me cuente el número de celda que tenga la siguiente condición: tener valor celda= "a"(mayúscula o en minúscula) y que tenga un comentario, es decir, si la celda no cumple estas dos condiciones no la cuenta.

Respuesta
2

Ejecuta la siguiente macro. Cambia la letra "A" dentro de la macro en esta línea:

 col = "A"

por la columna que quieres revisar.



Sub RevisarColumna()
'Por.Dante Amor
    col = "A"
    '
    cuenta = 0
    For i = 1 To Range(col & Rows.Count).End(xlUp).Row
        If Cells(i, col).Comment Is Nothing Then
            If UCase(Cells(i, col)) = "A" Then
                cuenta = cuenta + 1
            End If
        End If
    Next
    MsgBox "Cantidad de celdas: " & cuenta
End Sub

Sigue las Instrucciones para un botón y ejecutar la macro

  1. Abre tu libro de Excel
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. En el menú elige Insertar / Módulo
  4. En el panel del lado derecho copia la macro
  5. Ahora para crear un botón, puedes hacer lo siguiente:
  6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
  7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
  8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona: Tamaño y Propiedades. En la ventana que se abre selecciona la pestaña: Propiedades. Desmarca la opción “Imprimir Objeto”. Presiona “Cerrar”
  9. Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: RevisarColumna
  10. Aceptar.
  11. Para ejecutarla dale click a la imagen.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Te anexo la macro con un ajuste

Sub RevisarColumna()
'Por.Dante Amor
    col = "A"
    cuenta = 0
    For i = 1 To Range(col & Rows.Count).End(xlUp).Row
        If Not Cells(i, col).Comment Is Nothing And UCase(Cells(i, col)) = "A" Then
            cuenta = cuenta + 1
        End If
    Next
    MsgBox "Cantidad de celdas: " & cuenta
End Sub

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

1 respuesta más de otro experto

Respuesta
2

.11/11/16

Buenas tardes, Paco

Si te hubiese entendido correctamente, la siguiente rutina cuenta los casos coincidentes.

Accede al Editor de VBA (Atajo: Alt + F11), allí inserta un módulo (Insertar-Módulo) y pega el siguiente código:

Sub BuscaComm()
'---- Variables modificables ----
'=== PACO, modifica estos datos de acuerdo a tu proyecto:
    inicelda = "A10" 'celda donde inicia la columna a revisar por coincidencia
    Destcelda = "A8" ' celda donde dejar el conteo
    Buscar = "E" ' texto a buscar
    Exacto = False ' True = Contenido total de la celda coincide - False = Basta que aparezca dentro del texto
'---- fin Variables
'
'---- inicio de rutina:
'  
Ultcelda = Range(inicelda).End(xlDown).Address
ElRango = Range(inicelda, Ultcelda).Address
cont = 0
For Each LaCelda In Range(ElRango)
    If Not IsEmpty(LaCelda) Then
    Set ElComent = LaCelda.Comment
        If Not ElComent Is Nothing Then
            If Exacto Then
                If UCase(Trim(LaCelda)) = UCase(Buscar) Then cont = cont + 1
            Else
                If InStr(1, UCase(Trim(LaCelda)), UCase(Buscar)) Then cont = cont + 1
            End If
        End If
    End If
Next
Range(Destcelda).Value = cont
ElMensaje = IIf(cont = 0, "SIN COINDENCIA ALGUNA, porque" & Chr(10) & "no se encontró: " & Buscar & Chr(10) & IIf(Exacto, " total", " parcial") & "mente en celdas con comentario.", "Se encontraron: " & cont & " coincidencia" & IIf(cont > 1, "s", "") & Chr(10) & IIf(Exacto, " total", " parcial") & " con " & Buscar & Chr(10) & "(se dejó el resultado en la celda " & Destcelda & ")")
TipoMens = IIf(cont = 0, vbCritical, vbInformation)
ElTitulo = IIf(cont = 0, "NO SE HIZO NADA", "TERMINADO!")
Application.ScreenUpdating = True
MsgBox ElMensaje, TipoMens, ElTitulo
Set ElComent = Nothing
End Sub

Nota que, al principio del código, hay unas variables para que lo adaptes a tu archivo, debidamente explicadas. Coloca tus valores luego del signo =

Como no lo aclaraste, una de las variables te permite indicar si la coincidencia debe ser completa (todo el contenido de la celda) o parcial.

.

Perfecta explicación gracias por tu ayuda

.

Un placer haber podido ayudarte con esta rutina.

Abrazo

Fer

.

.

Recuerda valorizar y cerrar esta pregunta.

----- Te quedó pendiente valorizar el tiempo que te dediqué----

Buenas,

Si hubieses tenido la oportunidad de probar la solución, espero que te haya ayudado a resolver tu problema.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas