Por favor, ayuda con VBA en Excel!!!

fcerullo

New Member
Joined
Nov 20, 2002
Messages
10
Estimados,
Tengo el siguiente inconveniente con una hoja excel...

Dispongo de un listado ENORME de filas las cuales tienen el siguiente formato:

campo1 campo2 campo3... campo20
campo21 campo22 campo23... campo40
Ahora bien, me han solicitado que la hoja Excel cambie el formato de la siguiente manera:

campo1 campo2 campo3 campo4
campo1 campo2 campo3 campo5
campo1 campo2 campo3 campo6
campo1 campo2 campo3 campo20

O sea, que los primeros tres campos (campo1 campo2 campo3) se mantengan constantes mientras itero desde el campo4 hasta el campo20 y voy agregando una fila por cada uno.

Ademas una vez llegado al campo20, debo saltar a la siguiente fila y realizar lo mismo con los campos21..campo40 y asi sucesivamente.

Espero hayan podido comprender mi problema.

Desde ya, muchas gracias.

Fabio
 

Excel Facts

Can you sort left to right?
To sort left-to-right, use the Sort dialog box. Click Options. Choose "Sort left to right"
Hola Fabio,
Esta macro funciona solo si en la hoja no hay más información que los campos mencionados.
Antes de ejecutar la macro la celda activa debe ser el CAMPO1

Espero que sirva, Saludos.
--------------------
Sub Acomodacampos()
'La celda activa inicial debe ser el Campo 1

Dim a As Integer

Do Until IsEmpty(ActiveCell)
'inserta filas
For a = 1 To 36
Range(ActiveCell.Address).Offset(1, 0).EntireRow.Insert
Next a

'Copia Campo 1 a 3
ActiveCell.Resize(1, 3).Copy Destination:=ActiveCell.Offset(1, 0).Resize(36, 1)

'Transpone Campos 5 a 21
ActiveCell.Offset(0, 4).Resize(1, 16).Copy
ActiveCell.Offset(1, 3).Select
Selection.PasteSpecial Paste:=xlValues, Transpose:=True
ActiveCell.Offset(-1, 1).Resize(1, 16).ClearContents

'Transpone Campos 5 a 21
ActiveCell.Offset(36, -3).Resize(1, 20).Copy
ActiveCell.Offset(16, 0).Select
Selection.PasteSpecial Paste:=xlValues, Transpose:=True
ActiveCell.Offset(20, -3).Select

'Borra fila con Campo 5 a 21
ActiveCell.EntireRow.Delete

Loop

End Sub
 
Upvote 0
Muchas gracias por responderme.
Voy a probar lo que mencionas y me contactare nuevamente contigo.
Gracias nuevamente.

Saludos,
Fabio
 
Upvote 0

Forum statistics

Threads
1,216,098
Messages
6,128,812
Members
449,468
Latest member
AGreen17

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top