Contar blancos VB

Deseo una macro que cuente los espacios en blanco de un rango determinado, donde si el resultado es diferente a 0 muestre un mensaje, por desgracia ya he intentado todo, pero la línea de código siguiente me manda el error "Se ha producido el error ´1104´ en tiempo de ejecución: Error definido por la aplicación o el objeto"
Sub check()
If Range(ActiveCell.FormulaR1C1 = "=COUNTBLANK(RC[-6])").Value <> "0" Then
MsgBox "Verifique"
End If
End Sub

3 Respuestas

Respuesta
1
Suponemos que tu rango a comprobar va desde la celda A1 hasta la celda A20
Sub comprobar_blancos()
Sheets("Hoja1").Select
Range("A1").Select
contador=0
Do While ActiveCell.Address<>""$A$20"
If ActiveCell.Value="" Then
contador=contador+1
End If
ActiveCell.Offset(1,0).Select
Loop
If contador<>"0" Then
Msgbox"El número de celdas en blanco es de  " & contador &""
End If
End Sub
Si te ha servido puntúa y finaliza la consulta. Gracias
>Un saludo
>Julio
Julio:
Muchas gracias por tu respuesta, es todo un placer el que reciba asesoría de tu parte. La macro funciona perfectamente (salvo que tenia una coma de más), pero solo tengo una pregunta, ¿por qué si la instrucción es contar los espacios de la celda A1 a la A20 solo cuenta 19 espacios, no deberían de ser 20?.
Saludos.
Porque le he pedido que se pare en A20 modificas el rango a tu necesidad si quieres que cuente también la A20 pues pones A21
>Un saludo
>Julio
PD Si te ha servido puntúa y finaliza la consulta. Gracias. Efectivamente puse unas comillas de más en el rango "$A$20" ¡Un desliz de teclado! Jejejeje
Respuesta
1
¿El rango a seleccionar siempre es el mismo?
Experto:
El rango no es el mismo, de hecho esto solo es parte de una macro que depende del numero seleccionado en una celda que a su vez lleva a una submacro, pero para efectos prácticos me serviría mucho que me ayudaras con solo este bloque.
Muchas gracias.
Saludos.
¿Dentro de una misma celda o en varias celdas?
Experto:
El rango es en varias celdas, podrías ayudarme con un ejemplo donde el rango este en una misma columna (a10:a20), y otro donde este en columnas distintas (a10, b12, c13:c14). Habría alguna forma en que se ubique en el primer espacio vació (en caso de que hubiera).
Muchas gracias.
Disculpe si no le entendí antes.
Esta macro lo que hace es buscar los espacios en blanco de las celdas seleccionadas con su mouse iidependientemente si son rangos consecutivos o separados.
Busca dentro del rango seleccionado por usted, celda por celda, le asigna la palabra blanco a las vacías y al mismo tiempo las sumas, usted debe acomadar dentro del If Cell. Value, lo que usted estime conveniente.
Sub Imagen_Haga_clic_en()
cont = 0
For Each cell In Selection
Range(cell.Address).Select
If cell.Value = "" Then
   ActiveCell.Value = "vacio"
   cont = cont + 1
End If
Next cell
MsgBox (cont)
End Sub
Respuesta
Para eso no necesitas macro, hazlo con la función
=contar.si(A1:a50,"")
Algunas versiones de office en ves de ser coma el separador es punto y coma, intentalo y me avisas si te sirvió.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas