Excel - Ayuda macro en excel

 
Vista:
sin imagen de perfil

Ayuda macro en excel

Publicado por Jesus (3 intervenciones) el 29/02/2024 09:12:43
Hola a todos tengo esta hoja de excel y necesitaria un macro para que me deje un txt plano solo con los datos de las personas que se rellenan y ademas tiene que colocarlo en un orden especifico, seria algo tal que asi:

Indicador de personas junto con IPF y el numero 26 fijo junto con Primer apellido(Rellenar hasta 33 caracteres con espacios menos lo que ocupe)Segundo apellido(Rellenar hasta 33 caracteres con espacios menos lo que ocupe) Nombre(Rellenar hasta 33 caracteres con espacios menos lo que ocupe nombre)
Fecha de nacimiento:Nacionalidad

el resto no haria falta rellenar nada mas, si alguien me puede ayudar es para un rollo de la ss que me estan volviendo loco, y seria bastante automatico el darle a un boton y que lo genere, muchas gracias a todos y siento el rollo

Un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Ayuda macro en excel

Publicado por Jesus (3 intervenciones) el 29/02/2024 09:15:23
Tendria que salir cada linea algo asi

1001661662F26Martinez Fernandez Pepe Jose 20060412724

Gracias de nuevo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Ayuda macro en excel

Publicado por Antoni Masana (2478 intervenciones) el 29/02/2024 14:45:23
El formato de salida del fichero de texto es el siguiente:

A - Indicador de personas junto con IPF
B - el numero 26
C - Primer apellido(Rellenar hasta 33 caracteres con espacios menos lo que ocupe)
D - Segundo apellido(Rellenar hasta 33 caracteres con espacios menos lo que ocupe)
E - Nombre(Rellenar hasta 33 caracteres con espacios menos lo que ocupe nombre)
F - Fecha de nacimiento:
G - Nacionalidad

El resultado:

1
2
AAAAAAAAAAABBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFGGG
1001661662F26Martinez                         Fernandez                        Pepe Jose                        20060412724

Este es el codigo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Sub Grabar_TXT()
    Open "C:\Download\Datos.txt" For Output As #1
    Fila = 2
    While Cells(Fila, "A") <> Empty
        If Cells(Fila, "A") = 1 Or Cells(Fila, "A") = 6 Then
            Print #1, Trim(Cells(Fila, "A"));
            Print #1, Right(String(10, "0") & Cells(Fila, "B"), 10);
            Print #1, "26";
            Print #1, Left(IIf(Cells(Fila, "C") = Empty, "---", Cells(Fila, "C")) & Space(33), 33);
            Print #1, Left(IIf(Cells(Fila, "D") = Empty, "---", Cells(Fila, "C")) & Space(33), 33);
            Print #1, Left(IIf(Cells(Fila, "E") = Empty, "---", Cells(Fila, "C")) & Space(33), 33);
'           Print #1, Format(Cells(Fila, "F"), "YYYYMMDD");
            Print #1, Trim(Cells(Fila, "F"));
            Print #1, Trim(Cells(Fila, "G"))
        End If
        Fila = Fila + 1
    Wend
    Close
End Sub

Y este el resultado:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
AAAAAAAAAAABBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFGGG
1001661662F26Martinez                         Fernandez                        Pepe Jose                        20060412724
1000001661026aa                               aa                               aa                               20050331724
6000002626226bb                               bb                               bb                               20051111170
1000000000026---                              ---                              ---                              20040915724
6000000000026---                              ---                              ---                              20040116504
1000000000026---                              ---                              ---                              20070621724
1000000000026---                              ---                              ---                              20050711724
1000000000026---                              ---                              ---                              20050709724
1000000000026---                              ---                              ---                              20060117724
1000000000026---                              ---                              ---                              20070711724
1000000000026---                              ---                              ---                              20040325724
1000000000026---                              ---                              ---                              20030211724
1000000000026---                              ---                              ---                              20040118724

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Ayuda macro en excel

Publicado por Jesus (3 intervenciones) el 29/02/2024 16:03:39
MIL GRACIAS!!!!! me acabas de ahorrar horas de intentar saber hacerlo, si pasas por el norte estare encantado de pagarte, unas cervezas/cafes/refrescos o invitarte a comer, Un saludo enorme y de corazon mil gracias eres una maquina
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar