Macro copiar valores de un rango a varias hojas

Uenas tardes, tengo una hoja que se llama "Explosión de Materiales" en la cual tengo un rango "I1:I" con números la cantidad de caracteres es la misma cantidad de hojas que tengo, es decir si en el rango que comienza en I4 y tengo I4 tengo 2, I5 tengo 5, I6 tengo 8, I7 tengo 99 entonces tengo 4 hojas y así sucecivamete. Lo que pretengo es que cada carácter sea copiado en A10 de cada una de las hojas.

1 Respuesta

Respuesta
1

Disculpa pero no entendí.

En la celda "I4" tienes el dato "2", ¿cómo se llama la hoja "I4" o "2"?

¿Qué es lo que voy a copiar "I4" o "2"?

Puedes poner una imagen que incluya la columna "I", los datos que tienes y cómo se llaman las hojas, por ejemplo

Lo que puse es un ejemplo, pero quisiera saber cómo tienes tus datos y exactamente qué dato quieres copiar.

Saludos. Dante Amor

Buenos días Dante, antes que nada gracias por interesarte en mi consulta.

Te explico:

La hoja de donde se copiaran los datos se llama "Explosión de Materiales" los cuales están enlistados en la columna "I" los cuales comienzan desde "I4", lo que necesito es que los datos enlistados sean copiados en las hojas que tengo. Es decir; si tengo 5 datos 2, 5, 7, 9 y 56 sean copiados en cada hoja. Ejemplo; en la hoja que se llama "O.C.M." copie el numero "2" en la celda "A10", en la hoja "O.C.M.(2)" copie el numero "5" en la celda "A10" y así sucesivamente hasta finalizar con la lista. Gracias y espero haberme explicado mejor.

Gracias y quedo en espera de su respuesta y/o ayuda.

¿Tienes más hojas que se llaman "O.C.M." y un número?

Si tienes más hojas nombradas de esa forma, entonces esta sería la macro:

Sub CopiarDatos()
'Por.Dante Amor
    n = 1
    For i = 14 To Range("I" & Rows.Count).End(xlUp).Row
        If n = 1 Then
            hoja = "O.C.M."
        Else
            hoja = "O.C.M. (" & n & ")"
        End If
        n = n + 1
        For Each h In Sheets
            If h.Name = hoja Then
                Sheets(hoja).[A10] = Cells(i, "I")
                Exit For
            End If
        Next
    Next
    MsgBox "Copia terminada"
End Sub

La macro la debes ejecutar en la hoja que tiene los datos.

Saludos. Dante Amor

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas