Macro que realiza una data base en vertical.

Hola, amigos necesito ayuda con respecto a este tema, tengo una base datos con los siguientes encabezados en las columnas A5, B5, C5 Y D5 "ítem, numero de cliente, existencia y pedido", estos cuatro encabezados pertenecen a un solo cliente y tengo 46, estos datos son consecutivos y están a la derecha de este primer cliente claro, y las filas que contiene esta base son variables ya que cada día cambian los ítems a monitorear pero la base siempre tiene el mismo formato descrito.

Lo que quiero hacer es posicionarme en los encabezados del cliente dos y seleccionar todos los registros del mismo con la función Selection. End(xlDown). Select.

Esto es con la intención de cortar la información de este cliente ("los tres encabezados") y pegarla en forma vertical abajo del primer cliente dejando dos espacios entre cada cliente recordemos que son 46.

De antemano muchas gracias por el apoyo.

Saludos & mil gracias...!!

1 Respuesta

Respuesta
1

¿Ya tienes la macro y hay que modificarla?

¿O quieres una macro que haga lo que necesitas?

Puedes poner varios ejemplos 5 ó 6 con los datos que tienes, cómo están tus datos, llena un cuadro similar a este:
A B C D
1 dato dato dato dato
2 dato dato dato dato
3 dato dato dato dato

Escribe otro cuadro con esos mismos ejemplos de cómo quieres que el resultado.

Base inicial.

cliente 1 cliente 2

item # de cliente existencia pedido # de cliente existencia pedido # de cliente existencia pedido abc1 1 1 14 2 13 3 3 15 11 abc2 1 4 3 2 7 2 3 1 9 abc3 1 9 1 2 4 1 3 4 7 abc4 1 15 2 2 5 9 3 8 4

Hola Dam...!!

Muchas gracias por contestar. Una disculpa envíe sin querer la pregunta anterior, esta es la base que quiero convertir:

cliente 1 cliente 2

item #de cliente existencia pedido #de cliente existencia pedido

abc1 1 4 10 2 1 3

abc2 1 8 20 2 9 2

abc3 1 6 4 2 2 7

lo quiero de esta forma:

tem #de cliente existencia pedido
abc1 1 4 10

abc2 1 8 20

abc3 1 6 4

abc1 2 1 3
abc2 2 9 2
abc3 2 2 7

Realmente mi código no esta completo tengo una idea muy vaga de como hacerlo, te agradecería si me ayudas a generar la macro con este ejemplo.

Saludos & en verdad muchas gracias por el apoyo...

Entonces quieres pasar el cliente2 debajo del cliente1, ¿pero además hay más clientes hacia la derecha? ¿Significa qué el cliente3 pasaría debajo del cliente2? ¿El 4 debajo del 3 y así sucesivamente?

Y algo bien importante, dime en qué fila están los encabezados y en qué fila empiezan los datos.

Si puedes enviarme tu archivo, mejor.

Mi correo [email protected]

En el asunto escribe el nombre de tu usuario y el título de esta pregunta.

Avisame aquí cuando me la hayas enviado.

Hola Dam, buen dia.

Ya te envíe la información a tu mail, muchísimas gracias.

Saludos...

Instrucciones para ejecutar macro
1. Abre tu hoja 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. Para ejecutarla presiona F5

Sub clientes()
'Acomoda clientes hacia abajo
'Por.Dam
Application.ScreenUpdating = False
Sheets("Base Original").Select
ucol = Cells(4, Columns.Count).End(xlToLeft).Column
For colini = 5 To ucol
    colfin = colini + 2
    Range(Cells(4, colini), Cells(4, colfin).End(xlDown)).Cut
    Range("B" & Range("B" & Rows.Count).End(xlUp).Row + 3).Select
    ActiveSheet.Paste
    colini = colfin
Next
Application.ScreenUpdating = True
Range("B4").Select
MsgBox "Proceso terminado", vbInformation, "Módulo de Clientes"
End Sub

Saludos.Dam

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas