Duda con Bucle Do while, copiar valores si celda esta

He creado una macro donde se selecciona un rango A2:G8 de una hoja1 y se pega en a2 de la hoja2, el problema es que lo hice con el bucle do while, y ahí es donde surge mi duda, se tiene que pegar en a2 siempre y cuando en b2 no haya datos ... Yo lo hice de esta manera, pero en ningún momento considera b2 por lo que cuando hay datos en blanco en la columna A me los copia encima.
Muchas gracias de antemano
Sub Reporte()
Sheets("HOJA1").Select
Range("A2:G8").Select
Selection.Copy
Sheets("HOJA2").Select
Range("A2").Select
Do While ActiveCell <> Empty
ActiveCell.Offset(1, 0).Select
Loop
ActiveSheet.Paste
ActiveCell.Offset(1, 0).Select
END SUB
{"Lat":9.93571127741001,"Lng":-84.0534782409668}

1 respuesta

Respuesta
1
Eso es mucho código para una tarea que es sencilla, de eso se trata entre más corto y comprensible el código mucho mejor, además se ejecuta más rápido. Prueba con este código.
Sub Reporte()
    If Sheets("Hoja2").[B2] = "" Then
        [A1].CurrentRegion.Copy Destination:=Sheets("Hoja2").[A2]
    End If
End Sub
Muchas gracias por tu pronta respuesta! Agradezco mucho tu tiempo, solo tengo una duda con respecto a donde se pega, o si el scrpt que me diste reemplaza una parte del que yo arriba postee.
Gracias!
El código que escribí reempaza todo el código que colocaste de ejemplo. Claro está que del modo como o entendí el planteamiento. Ahora, pues guarda tu libro con otro nombre y pruebas en él para ver si produce el resultado que esperas.
Me cuenta como le va con la prueba.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas