Saltar al contenido

Duda trasponer datos con macro

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

Featured Replies

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

 

publicado
  • Autor

Clavado, Antoni! Muchas gracias por la ayuda!

Archivado

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