Saltar al contenido

Duda trasponer datos con macro


Recommended Posts

publicado

Buenas,
Tengo un fichero con una hoja "INICIO", que tengo que transformar en lo que figura en hoja "FIN". No se me ocurre cómo hacerlo con macro. En el ejemplo os he puesto  3 fechas. Vienen en horizontal: fecha y luego las horas hasta 24 con su concepto. Tengo que trasponerlo y dejarlo como en hoja FIN. La parte de copiar y trasponer bien, pero no se me ocurre cómo añadir la fecha esas 24 veces en la primera columna hacia abajo por tantas fechas como existan en hoja INICIO. ¿Alguna idea? Gracias de antemano.

EJ_FECHAS.zip

publicado
Sub TransponerFilas()
Dim Inicio As Worksheet, Fin As Worksheet
Application.EnableEvents = False
'--
Set Inicio = Sheets("Inicio")
Set Fin = Sheets("Fin")
'--
Fin.Range("A1").CurrentRegion.Offset(1).ClearContents
fila = 1
For x = 2 To Inicio.Range("A" & Rows.Count).End(xlUp).Row
   For y = 2 To Inicio.Cells(1, Columns.Count).End(xlToLeft).Column
      If Not Inicio.Cells(1, y) = "" Then
         fila = fila + 1
         Fin.Range("A" & fila) = Inicio.Range("A" & x)
         Fin.Range("B" & fila) = Inicio.Cells(1, y)
         Fin.Range("C" & fila) = Inicio.Cells(x, y)
      End If
   Next
Next
End Sub

 

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • 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.