Cómo copiar una fila entera, si se cumple que uno de los valores es mayor que cero

He visto que eres experto en el tema Excel.

Te explico mi caso:

Tengo un archivo Excel con unas 250 filas. Y en las filas tengo datos en la B, D, G, H, I. Entonces en la fila G, los clientes escriben las unidades que quieren comprar.

Y al haber 250 referencias, quiero tener en la hoja 2 un resumen con todos aquellos productos en los que el cliente haya puesto algo distinto de 0 en la fila G, y que me copiara en la hoja 2 a partir de la fila 32, los mismos datos ( Filas B, D, G, H, I ), y si fuera posible con el mismo formato.

He estado viendo otras preguntas acerca de macros pero no sé como se utiliza. He estado intentándolo con fórmulas tipo Buscar, Si. ... Pero no lo he encontrado.

1 Respuesta

Respuesta
2

H o la: Te anexo la macro.

Cambia en la macro el nombre de la hoja con datos y la hoja destino. También pon la fila donde inician tus datos.

Sub CopiarFilas()
'Por.Dante Amor
    Set h1 = Sheets("Hoja1")    'hoja origen con datos
    Set h2 = Sheets("Hoja2")    'hoja destino
    fila = 2                    'fila inicial de datos
    '
    u2 = h2.Range("G" & Rows.Count).End(xlUp).Row
    If u2 < 32 Then u2 = 32
    h2.Range("A32:I" & u2).ClearContents
    '
    u1 = h1.Range("G" & Rows.Count).End(xlUp).Row
    cols = Array("B", "D", "G", "H", "I")
    For i = fila To u1
        If h1.Cells(i, "G") > 0 Then
            For col = LBound(cols) To UBound(cols)
                h1.Cells(i, cols(col)).Copy h2.Cells(u2, cols(col))
            Next
            u2 = u2 + 1
        End If
    Next
    MsgBox "Registros copiados"
End Sub

No mencionaste dónde pegar cada dato, estoy copiando la columna B y pegando en la B, la D en la D, la G en la G, la H en la H y la I en la I.


'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Buenas Dante. Muchas gracias por la respuesta.

Podrías darme más información de cómo se insertan las macros. Nunca lo he hecho...

Gracias

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: Tamaño y Propiedades. En la ventana que se abre selecciona la pestaña: Propiedades. Desmarca la opción “Imprimir Objeto”. Presiona “Cerrar”
  9. Vuelve a presionar click derecho dentro de la imagen y ahora selecciona: Asignar macro. Selecciona: CopiarFilas
  10. Aceptar.
  11. Para ejecutarla dale click a la imagen.
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas