MACRO para extraer de una columna solo los que tengan 4 caracteres válidos sin considerar los vacíos

Necesito tu ayuda tengo un reporte de cuentas que el sistema lo exporta automáticamente a excel, en la columna CUENTA muesta el numero de la cuenta, pero esta celda cuando quiero extraer en contenido utilizando C8=LARGO(D8)= 15, to esperaba como resultado obtener la Col."B" (nro de caracteres), bueno modifique la fórmula a C8=VALOR(LARGO(D8))= 15, buscando que me de el numero de cifras de la celda D8 que es 2, pero otra vez me dio 15, este problema lo veo siempre cuando se extrae un reporte a excel que algún reporte ya sea de un sistema contable o de un sistema de gestión.

Cuando el reporte tiene una lista de datos corto lo soluciono manualmente, pero esta lista es larga tiene 1328 registros por eso te pido una MACRO para extraer un numero válido que contiene una celda sin considerar los vacíos, anexo te envío la imagen, donde la columna problema es la "D" y la columna solución es "A". De antemano muchas gracias por la atención a mi pregunta y espero me ayudes con la MACRO que resuelva mi problema.

Saludos, JOHNMOR41, LIMA PERÚ

1 respuesta

Respuesta
1

En lo que te envío la macro, puedes probar con la siguiente fórmula en la celda c8

=LARGO(ESPACIOS(D8))

Prueba con la siguiente macro

Sub Extrae4Caracteres()
'Por.Dante Amor
    For i = 8 To Range("D" & Rows.Count).End(xlUp).Row
        cuenta = Trim(Cells(i, "D"))
        If Len(cuenta) = 4 Then
            Cells(i, "A") = cuenta
        End If
    Next
End Sub

Gracias voy a avanzar con la funcion que me has enviaso, Dante Amor, si es necesario te puedo enviar el archivo que contiene los 1,328 registros.

Saludos, JOHNMOR41 LIMA PERU

Claro, si no te funciona la macro o la fórmula envíame tu archivo y lo reviso.

Recuerda poner en el asunto "johnmore41"

Estimado Dante Amor, te acabo de enviar el archivo de excel PLAN DE CUENTAS por favor que tu MACRO busque en la 1ra columna las cuentas de 3 dígitos y en la 2da columna las cuentas de 4 dígitos, desde ya agradezco mucho tu gran ayuda, lo envío de mi cuenta yahoo ya que permite envío de archivo excel con macros sin bloqueo por virus [email protected]

Saludos JOHNMOR41 LIMA PERU

En la columna B

=SI(D8=4,E8,"")

y en la columna A

=SI(D8=3,E8,"")

Saludos. Dante Amor

No olvides valorar la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas