Saltar al contenido

Registar Datos Según Hoja de destino


jhosmar84

Recommended Posts

publicado

Buenas esto te puedes servir...

S2

Sub CopiaDatos()
    Application.ScreenUpdating = False
    Dim Datos(4) 'Declaro y dimensiono el Array para guardar los datos
    Dim Celda As Range
    Dim HojaDestino As String
    Dim i As Integer

    HojaDestino = Range("C10") 'Se guarda el nombre de la hoja que está en la celda C10

    If HojaDestino = "" Then 'Si la hoja C10 está vacía muestro mensaje de error para que se cubra este campo
        MsgBox "Debe indicar una hoja de destino", vbCritical
        Exit Sub
    End If

    Datos(0) = Range("B4") '
    Datos(1) = Range("D4") '
    Datos(2) = Range("F4") ' Guardo los datos en el array
    Datos(3) = Range("B7") '
    Datos(4) = Range("D7") '

    For Each Celda In Sheets(HojaDestino).Range("A5:A65536") 'Bucle para todas las celdas en la hoja de destion en el rango "A5:A65536"
        If Celda = "" Then 'Cuando encuentra la primera celda vacía en el rango anterior copia los datos del array
            For i = 0 To UBound(Datos) 'Bucle desde 0 hasta la dimension del array
                Celda.Offset(0, i) = Datos(i) 'En la celda.offset Copiamos el array
            Next i
            Exit For 'Nada más copiar los datos salimos para no recorrer todo el rango.
        End If
    Next Celda
End Sub

publicado

Gracias, amigo Pinta, funciona a pa perfección, si no mucha molestia antes de cerrar el tema, tengo pocos conocimientos de macros, me gustaria que en el código pongas un comentario por las lineas de código para poder entender mejor, nuevamente gracias, si no es posible me indica para dar por cerrado el tema.

Archivado

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

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.