Copiar celdas de una hoja a otra si son mayores a cero

En la Hoja1, en la columna "H" tengo valores que van de cero en adelante, si el valor de "H" es mayor que cero, entonces: copia las celdas "A", "B" y "H" en la Hoja2 en las Celdas "A8","B8" y "G8"

Esta operacion debe hacerse hasta que en la Hoja1 se encuentre una celda vacia en "H", las celdas de la Hoja2 deberan incrementarse en el numero de fila, es decir, cuando se encuentre la segunda celda mayor que cero, "A8" sera "A9", "B8" sera "B9", "G8" sera "G9", etc.,.

1 Respuesta

Respuesta
3

¿Y los valores de la columna "H" en cuál fila empiezan?

Saludos. Dante Amor

Sigue las Instrucciones para un botón y ejecutar la macro
1. Abre tu libro de Excel
2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
3. En el menú elige Insertar / Módulo
4. En el panel del lado derecho copia la macro
5. Ahora para crear un botón, puedes hacer lo siguiente:
6. Inserta una imagen en tu libro, elige del menú Insertar / Imagen / Autoformas
7. Elige una imagen y con el Mouse, dentro de tu hoja, presiona click y arrastra el Mouse para hacer grande la imagen.
8. Una vez que insertaste la imagen en tu hoja, dale click derecho dentro de la imagen y selecciona Asignar macro / Selecciona: copiar
9. Aceptar.
10. Para ejecutarla dale click a la imagen.

Sub copiar()
'Por.DAM
Set h1 = Sheets("Hoja1")
Set h2 = Sheets("Hoja2")
j = 8
For i = 2 To h1.Range("H" & Rows.Count).End(xlUp).Row
    If h1.Cells(i, "H") > 0 Then
        h1.Range("A" & i & ":B" & i).Copy h2.Range("A" & j)
        h1.Range("H" & i).Copy h2.Range("G" & j)
        j = j + 1
    End If
Next
End Sub

Saludos.Dante Amor
Si es lo que necesitas.

Hola DAM buenos días, los valores de "H" empiezan en "H2", la macro funciona parcialmente, no hay problema cuando copia "A" y "B", pero cuando copia "H" en "G", solo pone ceros no los valores de la celda, te comento que "H" es la suma de cinco celdas anteriores.- Saludos desde Oaxaca, México.

Utiliza esta macro

Sub copiar()
'Por.DAM
Set h1 = Sheets("Hoja1")
Set h2 = Sheets("Hoja2")
j = 8
For i = 2 To h1.Range("H" & Rows.Count).End(xlUp).Row
    If h1.Cells(i, "H") > 0 Then
        h1.Range("A" & i & ":B" & i).Copy h2.Range("A" & j)
        h1.Range("H" & i).Copy: h2.Range("G" & j).PasteSpecial xlPasteValues
        j = j + 1
    End If
Next
End Sub

Saludos. Dante Amor
No olvides finalizar la pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas