Bucle coloque valores de hoja 1 en la hoja 2, evitando las celdas vacías.

En la "hoja 1" Hay 4 valores asociados a una ficha,

En la "hoja 2" poner esos valores con su fecha correspondiente.

Si en la "hoja 1" la fecha no tiene valores, que lo pase por alto, y busque la siguiente fecha con valores y la coloque en la "hoja 2".

En la "hoja 2" quedarían los datos de la "hoja 1" si espacios vacíos.

Agradecido por sus esfuerzos para que todos aprendamos.

1 respuesta

Respuesta

Adjunto código macro para el desarrollo de tu consulta y puedas revisarlo.

Sub CopiarPegarValoresFechas()
'Asumiendo que la tabla de 2 columnas inicie en la celda A1
Matriz = Range("A1").CurrentRegion
x = 1
For i = 1 To UBound(Matriz)
    If IsEmpty(Matriz(i, 1)) Then
    Else
        Worksheets("Hoja2").Cells(x, 1) = Matriz(i, 1)
        Worksheets("Hoja2").Cells(x, 2) = Matriz(i, 2)
        x = x + 1
    End If
Next i
End Sub

Primeramente quedo agradecido por el esfuerzo y su interés.

Entiendo que la Macro copiará de la hoja 1 a la hoja 2

y así lo hice, solo copia dos columnas idénticas a la otra hoja con las celdas vacías igual que en la hoja 1

Seguro me expresé mal, no es fácil transmitir bien. Discúlpame.

Esta macro no hace lo que quería, no obstante, en la siguiente imagen le muestro como debería quedar.

En las columnas que están vacías coloco un buscarv para que aparezca la fecha asociada a esos números, en la original las fechas se ven en la primera columna de la izquierda.

la fecha si empieza el 20 de marzo las filas 1y 2 tienen la misma luego la 3 y 4 7 días más y así hasta la fila 34.

Me gustó mucho como planteó la macro entiedo muy como de VBA.

¿sería mucho pedirte la explicación del código?

No tengo este nivel y me gustaría saber algo más.

Aparentemente estas indicaciones difieren del primer mensaje. El ejemplo que te proporcione estaba basado en una tabla de 2 columnas, Primera columna Fecha y Segunda columna Valor.

Para evitar diferentes interpretaciones, es preferible adjuntar un archivo excel con un ejemplo de su consulta de manera detallada, porque en la mayoría de veces que sólo se brinda un mensaje, dichos mensajes tienden a ser muy generalizados y se prestan a malas interpretaciones.

Por favor, si pudieras adjuntar un archivo excel con un ejemplo de tu consulta y el resultado esperado que requieres. El archivo lo puedes cargar en la nube por medio del dropbox y drive para luego compartir el enlace.

Estaré atento a tu respuesta.

Ander GS.

Según lo que puedo entender lo que muestra la imagen, el siguiente código realiza lo que muestra la imagen.

Sub CopiarPegarValoresFechas()
'Esta macro trabaja en base a la estructura de datos que muestra la imagen
Set Rango = Range("A1").CurrentRegion
For j = 1 To Rango.Columns.Count
x = 1
    For i = 1 To Rango.Rows.Count
        If IsEmpty(Rango.Cells(i, j)) Then
        Else
            Worksheets("Hoja2").Cells(x, j) = Rango.Cells(i, j)
            x = x + 1
        End If
    Next i
Next j
End Sub

Bueno con respecto a tus indicaciones en el mensaje anterior, no logré entender las líneas en que hacías referencias a la fechas.

Espero que sea lo que estas necesitando. Cualquier consulta estaré atento.

Por favor, no olvidar de valorar las respuestas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas