Saltar al contenido

Recommended Posts

publicado

Buenos días,
Favor me pueden ayudar con alguna formula en excel  y alguna VBA para contabilizar celdas sin relleno de color pero que contengan cualquier tipo de texto dentro de la celda.  "CELDA SIN RELLENO DE COLOR CONTABILIZAR."

Gracias por su soporte desde ya !

publicado

Buen día,

Así como está explicado se puede suponer que la función CONTARA() debería ser útil y un VBA similar replicaría lo que hace esa función, no tiene mucho sentido.

Ahora, si se trata de deducir (que no es lo mejor) tal vez es posible que usted tenga un rango con diferentes celdas en formato de diferente color y por discriminación necesita contar las celdas que se vayan "despintando", en ese caso la función mencionada NO SERVIRÁ.

¿El rango es fijo? ¿El rango cambia a selección del usuario? ¿Cualquier clase tipo de texto? ¿Se refiere a valores y texto?

Por qué no muestra un ejemplo con el resultado a obtener, así es posible recibir mejores propuestas o ideas.

publicado
hace 20 minutos , Israel Cassales dijo:

Buen día,

Así como está explicado se puede suponer que la función CONTARA() debería ser útil y un VBA similar replicaría lo que hace esa función, no tiene mucho sentido.

Ahora, si se trata de deducir (que no es lo mejor) tal vez es posible que usted tenga un rango con diferentes celdas en formato de diferente color y por discriminación necesita contar las celdas que se vayan "despintando", en ese caso la función mencionada NO SERVIRÁ.

¿El rango es fijo? ¿El rango cambia a selección del usuario? ¿Cualquier clase tipo de texto? ¿Se refiere a valores y texto?

Por qué no muestra un ejemplo con el resultado a obtener, así es posible recibir mejores propuestas o ideas.

Hola Israel gracias por brindarme tu tiempo , tengo una tiendas columnas fijas , en este ejemplo quisiera que la formula me indique cuantas celdas tengo sin relleno de color teniendo en cuenta que hay texto o numero dentro de la celda.

image.png.d72c2a73eb3b2488fa9d8c6fc37f8473.png

publicado

Como recomendación el ejemplo es mejor si deja un libro de Excel con el resultado a buscar, con la imagen lo que puedo aportarle es un código VBA.

Function ContarCeldasSinColorNoVacias(rango As Range) As Long
    Dim celda As Range
    Dim conteo As Long
    conteo = 0

    For Each celda In rango
        If celda.Interior.ColorIndex = xlNone And Not IsEmpty(celda.Value) Then
            conteo = conteo + 1
        End If
    Next celda

    ContarCeldasSinColorNoVacias = conteo
End Function

 

AYUDAEXCEL.xlsb

publicado
hace 2 minutos , Israel Cassales dijo:

Como recomendación el ejemplo es mejor si deja un libro de Excel con el resultado a buscar, con la imagen lo que puedo aportarle es un código VBA.

Function ContarCeldasSinColorNoVacias(rango As Range) As Long
    Dim celda As Range
    Dim conteo As Long
    conteo = 0

    For Each celda In rango
        If celda.Interior.ColorIndex = xlNone And Not IsEmpty(celda.Value) Then
            conteo = conteo + 1
        End If
    Next celda

    ContarCeldasSinColorNoVacias = conteo
End Function

 

AYUDAEXCEL.xlsb 12.77 kB · 0 descargas

Hola aquí te adjunto el excel , una formula en cualquier celda para que me cuente toda esas celdas cuantas en blanco hay así tenga texto dentro.

CELDA VACIA.xlsb

publicado
hace 7 minutos , Israel Cassales dijo:

El código no te sirvió?

Israel sabe , me percate que los cuadros celdas tienen formato de condición de color que se sombrean cuando se detecta alguna observación.
y creo que por ello la formula que me enviaste no esta funcionando ya que se colorea por el formato condicional asignado.

 

image.png

publicado

Podrias convertirlo todo en una tabla y filtrar las columnas que te interesen por "filtro de color:sin releno?

image.thumb.png.678bf094e70d22ff526aedb2185ef87a.png

 

publicado

¡Vaya! Aunque la expectativa no ha cambiado sí que lo hace el escenario. Cosas como formato condicional, que la celdas no están vacías, que no todo lo colorea con condicional sino que aparte usted colorea de manera manual y aleatoria cambian bastante la posible solución.

En términos simples BVA no alcanza de manera directa a leer el color del condicional pero aún así, sí se puede hacer algo, ahora el que usted pinte la celdas cambia la lectura del código, así que le recomiendo tener dos. Uno que primero cuente los condicionales y otro que le discrimine los coloreados manuales.

recording-2025-01-08-13-17-06.gif

Necesita dos códigos:

Function ContarCeldasSinCadenas(rng As Range) As Long
    Dim celda As Range
    Dim conteo As Long
    Dim texto As String
    
    conteo = 0
    
    For Each celda In rng
        texto = celda.Value
        
        
        If InStr(texto, "657") = 0 And InStr(texto, "666") = 0 And InStr(texto, "658") = 0 Then
            conteo = conteo + 1
        End If
    Next celda
    
    ContarCeldasSinCadenas = conteo
End Function
Function ContarPorColor(rango As Range) As Long
    Dim celda As Range
    Dim contador As Long
    contador = 0
    
    For Each celda In rango
        
        If celda.Interior.ColorIndex <> -4142 Then
            contador = contador + 1
        End If
    Next celda
    
    ContarPorColor = contador
End Function

Y después a un resultado le resta el otro.

Con eso debe llegar al resultado que busca.

Saludines

publicado
hace 20 minutos , Israel Cassales dijo:

¡Vaya! Aunque la expectativa no ha cambiado sí que lo hace el escenario. Cosas como formato condicional, que la celdas no están vacías, que no todo lo colorea con condicional sino que aparte usted colorea de manera manual y aleatoria cambian bastante la posible solución.

En términos simples BVA no alcanza de manera directa a leer el color del condicional pero aún así, sí se puede hacer algo, ahora el que usted pinte la celdas cambia la lectura del código, así que le recomiendo tener dos. Uno que primero cuente los condicionales y otro que le discrimine los coloreados manuales.

recording-2025-01-08-13-17-06.gif

Necesita dos códigos:

Function ContarCeldasSinCadenas(rng As Range) As Long
    Dim celda As Range
    Dim conteo As Long
    Dim texto As String
    
    conteo = 0
    
    For Each celda In rng
        texto = celda.Value
        
        
        If InStr(texto, "657") = 0 And InStr(texto, "666") = 0 And InStr(texto, "658") = 0 Then
            conteo = conteo + 1
        End If
    Next celda
    
    ContarCeldasSinCadenas = conteo
End Function
Function ContarPorColor(rango As Range) As Long
    Dim celda As Range
    Dim contador As Long
    contador = 0
    
    For Each celda In rango
        
        If celda.Interior.ColorIndex <> -4142 Then
            contador = contador + 1
        End If
    Next celda
    
    ContarPorColor = contador
End Function

Y después a un resultado le resta el otro.

Con eso debe llegar al resultado que busca.

Saludines

Israel / njnsp lo que yo necesito es  tener una formula que me indique estas son las celdas vacías con cualquier tipo de texto, en la primera formula que me enviaste Israel funciona siempre y cuando se pinte manualmente las celdas pero si las celda tiene formato condicional y se colorean la formula lo toma como toda esas celdas vacia.

yo no quiere que considere eso como vacia ya que tiene un color por el formato condicional.

image.thumb.png.1ac659515793752983d64d689c670edf.png

publicado

hola, a todos !

hace 13 horas, Tilin2023 dijo:

los cuadros celdas tienen formato de condición de color que se sombrean cuando se detecta alguna observación

analiza el adjunto, es una copia de tu muestra (sorry, le depure algunos abusos)
(datos ocultos, referencia a celdas 'alla donde se devuelve el aire', celdas combinadas [no sabes en la que te metes], etc.)
ya lo repondras si son imprescindibles ?

al final de cuentas, lo que te interesa es una UDF funcionando en la columna "N"
lo importante son los codigos (en el modulo de 'la hoja' y el modulo general con la/s UDF's)

condicion color (ayudaExcel).xlsb

publicado (editado)

¡Ah! Me ha gustado su aporte @Héctor Miguel a mí me costo trabajo ocupar el Displayformat por eso en la idea que presente use dos sentencias, en una tomé como base las condiciones del formato condicional del consultante pero la de usted me parece mejor. Gusto en saludarlo.

De verdad que aquí se aprende bastante.

¡Saludos!

Editado el por Israel Cassales
publicado
hace 14 horas, Israel Cassales dijo:

me costo trabajo ocupar el Displayformat por eso... use dos sentencias, en una tomé como base las condiciones del formato condicional

el tema tiene su grado de complejidad por lo siguiente:

1) la propiedad que intentas (.interior.colorindex) no detecta formatos condicionales

2) la propiedad .displayformat (xl-2010+) no se puede usar (directamente) en UDF's llamadas desde celdas

3) por lo mismo es la 'vuelta de tuerca' por procedimiento 'auxiliar' y el metodo 'evaluate'

finalmente, no me hables 'de usted', hablame de (us)TU 🫡

Conéctate para comentar

Podrás dejar un comentario después de conectarte



Conéctate ahora
  • 109 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Archivos

  • Estadísticas de descargas

    • Archivos
      187
    • Comentarios
      97
    • Revisiones
      28

    Más información sobre "Un juego del Rabino en Excel"
    Última descarga
    Por pegones1

    1    1

  • Crear macros Excel

  • Mensajes

    • Que tal, adjunto una propuesta de solución. Espero le sea útil. Power Query Filas Movidas (Solucion).xlsx
    • Bueno con el ejemplo así como lo tienes, te puedo compartir que ese error de referencia circular es el que te ayuda a mantener la fecha y la hora "congeladas" podrías evitarlo usando una columna auxiliar para el vacío pero la fórmula AHORA() te cambiara el resultado cada que la hoja se calcule o cuando le des guardar. Sin VBA de por medio será esperar el aporte de algún maestro o usuario avanzado. Si cambias de opinión pasa el tema para la otra sección. Saludos
    • A falta de una solución mas adelante, seguiré como hasta ahora, copiando y pegando el export en la plantilla. A mi me vale, pero quería evitar que el resto de usuarios (tampoco lo vamos a usar tantos!!) tuvieran que intervenir en nada del export y la transformación de datos de la plantilla. Mas o menos saben hacerlo, pero quería que todo estuviera automatizado. Si encuentro una solución os la pondré por aqui. Saludos.
    • Muy buen día a tod@s esperando se encuentren de la mejor manera posible,   Comparto lo siguiente: Estoy trabajando con un archivo en el cual me gustaría que cada que yo capturo ya sea un dato por ejemplo en la Cela A2, La fecha de la celda B2 se congele con la fecha en que estoy escribiendo algún dato, no obstante que en el resto de la columna continúe corriendo la fórmula: AHORA() hasta que yo capture dato y este se congele a ese momento,   La formula con la que lo estoy haciendo es la siguiente:  Congelar FECHA CAPTURA con error.xlsx =SI(ESBLANCO(A2), AHORA(), SI(ESBLANCO(B2), AHORA(), B2))  El problema es que al buscar en la misma B2 me arroja un error,    Cabe mencionar que para este ejercicio quisiera no usar macros ni VBA solo que funcione a base de formula, pero que esta no me arroje error como ya me lo hace   Les comparto CAPTURA DE ERROR,   Muchas gracias por el apoyo,   Saludos
    • Hola @Israel Cassales Es todo mucho mas "complicado". Estamos hablando de una multinacional, los ordenadores están "capados", la detección de redes esta desactivada, y solo funcionan los servicios de red necesarios, web, servidores de impresión, etc. Lo usuarios no podemos hacer nada de configuración en los ordenadores porque no tenemos privilegios de administración. Todos los usuarios tenemos Sap, (con diferentes perfiles, según los departamentos), office 365 (también con perfiles según funciones), y todo el software básico solo lo podemos instalar desde nuestro propio Software Center. Cualquier cosa que se salga de ahí, hay que solicitarla y cruzar los dedos para que te la aprueben.  En los departamentos de análisis, claro que tienen SAP BW,  SAP BI (yo mismo he solicitado perfiles y estoy a la espera) pero solo soy un simple SGA que lo único que intenta es automatizar al máximo mi trabajo diario, y estas cosas no deberíamos hacerlas, por perfil, capacidades y posibilidades técnicas.
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.