Llevar datos hoja1 a hoja2 del mismo archivo

Se tiene una hoja1 con los siguintes datos:

Datos Hoja1:

         A    B       C               J     O   P     Q          X
1 2011 40 20/06/2015 X1 Z10 k1 fecha0 dato2
2 2011 41 22/04/2015 X2 Z20 k2 fecha2 dato4
3 2011 42 24/08/2015 X3 Z25 k3 fecha4 dato6

Se requiere generar mediante macros (excel) en la hoja2 del mismo archivo:

Resultado: Hoja2: El siguiente ejercicio corresponde a la primera linea de la hoja1

            D (es B1 de Hoja1) E (es A1 de Hoja1)   F      G      H        I

1         40                             2011                             1        1      a      40 ( B1 de Hoja1
2         40                              2011                            1        2       b   20/06/2015C1Hoja1
3         40                              2011                            1        3       c   X1 (J1 de Hoja 1)
4         40                             2011                             1        4       d   Z10 (O1 de Hoja 1)
5         40                             2011                             1         5       e  K1 (P1 de Hoja 1)
6         40                             2011                             1         6       f  fecha0 (Q1 Hoja 1)
7         40                            2011                               1         7      g  dato2 (X1  Hoja 1)
8         40                            2011                               2         1      a   40
9         40                            2011                               2         2      b   20/06/2015
10       40                            2011                               2         3      c   x1
11       40                            2011                               2         4      d  Z10
12       40                            2011                               2         5      e  k1
13       40                            2011                               2         6      f  fecha0
14       40                            2011                               2         7     g  dato2

...

Así sucesivamente, hasta encontrar linea vacia en A

Nota: Para tener en cuenta, para cada uno de los registros de la hoja1 se debe producir 14 registros (lineas) en la hoja2;

En las columnas F, G, H de la hoja2 son datos que no vienen de la hoja1 y se deben generar automáticamente por la macro.

En la columna I de la hoja2 los datos de la segunda parte son los mismos de la primera.

1 respuesta

Respuesta
2

H o l a:

Te anexo la macro

Sub LlevarDatos()
'Por.Dante Amor
    Set h1 = Sheets("Hoja1")
    Set h2 = Sheets("Hoja2")
    h2.Cells.Clear
    '
    j = 1
    cols = Array("B", "C", "J", "O", "P", "Q", "X")
    For i = 1 To h1.Range("A" & Rows.Count).End(xlUp).Row
        For m = 1 To 2
            n = 1
            letra = 97
            For k = LBound(cols) To UBound(cols)
                h2.Cells(j, "D") = h1.Cells(i, "B")
                h2.Cells(j, "E") = h1.Cells(i, "A")
                h2.Cells(j, "F") = m
                h2.Cells(j, "G") = n
                h2.Cells(j, "H") = Chr(letra)
                h2.Cells(j, "I") = h1.Cells(i, cols(k))
                j = j + 1
                n = n + 1
                letra = letra + 1
            Next
        Next
    Next
    MsgBox "Fin"
End Sub

S a l u d o s . D a n t e   A m o r. Recuerda valorar la respuesta. G r a c i a s

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas