Macro para distribuir información de una hoja de Excel a las demás

Esta es mi situación, quisiera saber si hay una macro posible para realizar esta acción:

Tengo la información de peso de unos productos en una hoja de Excel, se encuentran en un rango desde la celda H8 hasta la H91, Y me gustaría que se copiaran automáticamente en la celda E28 de las demás hojas en ese orden en que las tengo.

Ejemplo: El peso de la H8, pegarse automáticamente al E28 de la hoja 1, y el de la H9 al de la hoja 2, así sucesivamente.

1 respuesta

Respuesta
1

Te anexo la macro para distribuir, puse que los datos están en la hoja "general", cambia este nombre en la macro por el nombre de tu hoja.

Sub DistribuirInformacion()
'Por.Dante Amor
    On Error Resume Next
    Set h1 = Sheets("General")
    j = 1
    For i = 8 To 91
        hoja = "Hoja" & j
        h1.Cells(i, "H").Copy Sheets(hoja).[E28]
        j = j + 1
    Next
    MsgBox "Proceso terminado", vbInformation
End Sub

Saludos.Dante Amor

Disculpa, cambio el nombre "General" por "Registro" y la macro no funciona :(

¿Y cómo se llaman las otras hojas?

Según tu ejemplo, tienes que tener las hojas con los siguientes nombres:

"Hoja1"

"Hoja2"

"Hoja3"

Y así hasta la hoja

"Hoja84"

¿O cómo se llaman tus hojas?

Oh lo siento, debí haberme explicado mal..

Las hojas se llaman desde 20150200001 hasta la 20150200084.

Saludos

Utiliza esta macro

Sub DistribuirInformacion()
'Por.Dante Amor
    On Error Resume Next
    Set h1 = Sheets("General")
    j = 1
    For i = 8 To 91
        hoja = "201502" & Format(j, "00000")
        h1.Cells(i, "H").Copy Sheets(hoja).[E28]
        j = j + 1
    Next
    MsgBox "Proceso terminado", vbInformation
End Sub

Saludos.Dante Amor

Recuerda cambiar "general" por "registro" así:

Sub DistribuirInformacion()
'Por.Dante Amor
    On Error Resume Next
    Set h1 = Sheets("Registro")
    j = 1
    For i = 8 To 91
        hoja = "201502" & Format(j, "00000")
        h1.Cells(i, "H").Copy Sheets(hoja).[E28]
        j = j + 1
    Next
    MsgBox "Proceso terminado", vbInformation
End Sub

Dante muchísimas Gracias!

Dante, utilizando esta misma Macro en otro libro en donde cambia el nombre de las hojas no funciona..

Ya he reemplazado el nombre del formato debido a que las nuevas hojas son desde el "201503000001 hasta el 201503000080"

Sub DistribuirInformacion()
'Por.Dante Amor
    On Error Resume Next
    Set h1 = Sheets("Registro")
    j = 1
    For i = 8 To 84
        hoja = "201503" & Format(j, "00000")
        h1.Cells(i, "H").Copy Sheets(hoja).[E28]
        j = j + 1
    Next
    MsgBox "Proceso terminado", vbInformation
End Sub

De modo que esta es la macro que debería funcionar y no funciona.

Podrías ayudarme?

Después de "201503" cuántos dígitos necesitas, en la macro del primer ejemplo pusiste 5 dígitos, pero ahora pusiste 6, entonces también debes ajustar

Esta línea con 5:

hoja = "201503" & Format(j, "00000")

Por esta con 6 ceros

hoja = "201503" & Format(j, "000000")

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas