Macro transponer datos de una fila a columnas

Tengo una hoja Excel donde en la columna A aparecen fechas y debajo de cada una los datos correspondientes. Por ejemplo:
A
Datos
30/01/2020
290,1
290,1
290,1
.
.
.
29/01/2020
290,5
290,4
290,4
290,4
.
.
.
Necesito separar estos datos en distintas columnas donde cada columna contenga un día con sus datos. De la siguiente forma:
A                             B                                  C
30/01/2020        29/01/2020                    28/01/2020
290,1                       290,5                        290,5
290,1                       290,4                        290,5
290,1                       290,4                        290,6

Espero haberme explicado bien y que se pueda solucionar con una Macro por la cantidad de datos con los que tengo que trabajar

1 respuesta

Respuesta
1

H o l a:

Te anexo la macro.

Pon tus datos en la "Hoja1", los resultados quedarán en la "Hoja2"

La primera fecha deberá empezar en A2 y de ahí hacia abajo todos tus datos.

Sub TransponerDatos()
'Por.Dante Amor
    Set h1 = Sheets("Hoja1")
    Set h2 = Sheets("Hoja2")
    h2.Cells.ClearContents
    '
    For i = 2 To h1.Range("A" & Rows.Count).End(xlUp).Row
        If IsDate(h1.Cells(i, "A")) Then
            j = j + 1
            k = 1
        End If
        h2.Cells(k, j) = h1.Cells(i, "A")
        k = k + 1
    Next
    MsgBox "Fin"
End Sub

Sigue las Instrucciones para ejecutar la macro

  1. Abre tu archivo 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

Dante funciona perfectamente. Muchas gracias por tu colaboración que se verá reflejada en la Tesis Doctoral que estoy realizando con una mención.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas