Saltar al contenido

Macro copiar con un criterio ??


Recommended Posts

Sub copiar()


With Worksheets("hoja1").Range("L2:R" & Range("L2").End(xlDown).Row).ClearContents
End With
Application.ScreenUpdating = False

'inicializo la variable j
J = 2

    'comienzo el bucle
    For i = 2 To Range("A65536").End(xlUp).Row
        'compruebo que el valor  sea mayor que 0
        If Cells(i, "R").Value = 0 Then
            'copio la fila entera y la pego
            Range(Cells(i, "L"), Cells(i, "R")).Copy Destination:=Sheets("hoja1").Cells(J, "A")
            'aumento la variable j para que vaya a la siguiente fila de la hoja filtros
            'cuando encuentre una nueva fila que cumple con la condición de mayor que cero
            J = J + 1
        End If
    Next

End With


Application.ScreenUpdating = True


End Sub

te dejo ese código a ver si te funciona solo modifica tus nombres de tus hojas

saludos

Enlace a comentario
Compartir con otras webs

Me da error en End With

De todas formas no entiendo varias cosas en la macro

No ve diferenciar entre hoja origen y destino, solo hay Hoja1

Si el rango a copiar es L:R, esta orden en la macro 

Range("A65536")

Se refiere a la hoja de la copia ???

Salud2...

 

Enlace a comentario
Compartir con otras webs

Hace 19 horas, eugeniocol dijo:

Me da error en End With

De todas formas no entiendo varias cosas en la macro

No ve diferenciar entre hoja origen y destino, solo hay Hoja1

Si el rango a copiar es L:R, esta orden en la macro 


Range("A65536")

Se refiere a la hoja de la copia ???

Salud2...

 

Hola

Llevas un buen tiempo por aqui y no subes archivo, ademas consultas sobre supuestos rangos

 

Saludos 

Enlace a comentario
Compartir con otras webs

Y coloca la pregunta en todos los foros en castellano, a pesar de que ya le hemos dicho que no es necesario ya que varios somo usuarios concurrentes de varios de esos foros.

Un poco de paciencia y lectura le vendrían bien a nuestro amigo. OJO, no es deseo de no ayudarlo, al contrario, que se ordene un poco para que sea más fácil hacerlo.

Abraham Valencia

Enlace a comentario
Compartir con otras webs

Perdon por la tradanza.

Pensaba que era sencilla la explicaion sin mas.
Bueno subo libro.
Hoja 1 datos a copiar.
Hoja2 destino de copia con criterio >0 en R.
Hoja2,Boton MACRO encontrada en san google funciona Ok, pero cuando la meto a rango 150.000 se eterniza en tiempo de ejecucion.

Un Saludo.

Foro copia con criterio.xlsm

Enlace a comentario
Compartir con otras webs

Archivado

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

  • 96 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Archivos

  • Estadísticas de descargas

    • Archivos
      177
    • Comentarios
      90
    • Revisiones
      27

  • Crear macros Excel

  • Mensajes

    • Hola buenas tardes. En una hoja plantilla donde realizo diferentes consultas de datos. tengo ya establecido dos formulas diferentes con función SI y buscar. estos buscan diferentes rangos de datos y recibendiferentes resultados. Cada formula varia según una palabra o numero  ejemplo si pongo Xl pone la formula 1 y si pongo cualquier numero entre 1 y 3 pone la segunda formula. Lo que necesito hacer es que si en una celda de la columna B3 pongo XL debería de considerar la formula 1 y si pusiera el numero 1 me pondría la segunda formula, dentro de la misma formula. Ya agregue la función SI($C3="Xl",Formula1.. Pero no me funciona, espero me puedan ayudar.   Muchas gracias Mariano   Formula doble si en celda existe.xlsx
    • Sub control2558() Application.ScreenUpdating = False Dim I As Integer I = 4 While Sheets("FT-ADF-2558").Cells(I, 102) <> "" Sheets("FT-ADF-2558").Cells(6, 82) = Sheets("FT-ADF-2558").Cells(I, 102) Dim NombreArchivo, RutaArchivo As String NombreArchivo = "Hoja Control " & Sheets("FT-ADF-2558").Cells(I, 102) RutaArchivo = ActiveWorkbook.Path & "\" & NombreArchivo & ".xlsm" Dim NuevoLibro As Workbook Set NuevoLibro = Workbooks.Add Sheets("FT-ADF-2558").Copy Before:=NuevoLibro.Sheets(1) NuevoLibro.SaveAs Filename:=RutaArchivo NuevoLibro.Close I = I + 1 Wend MsgBox ("Proceso generado con éxito") Application.ScreenUpdating = True End Sub  
    • Ese error es porque no existe la hoja 10 con ese nombre, entonces cámbialo por FT-ADF-2558
    • Hola, gracias. No se ejecuta...   sale esto: se ha producido el error "424"  en tiempo de ejecución. Se requiere un objeto   Le doy en depurar y me sale en amarillo esta parte  While Hoja10.Cells(I, 102) <> ""        
    • Hola Israel,   Muchísimas gracias por tu consejo. Te comento como me funcionó. Yo tengo un libro Excel con 1.000.000 de filas  y 7 columnas. Si mantengo apretado las teclas Ctrl+Shift+Flecha abajo, me selecciona todos los datos. de la hoja. Pero como me dijiste que una celda vacía rompe la selección, lo que hice fue insertar una fila vacía bajo la última fila que me interesa copiar, selecciono la fila superior con las columnas que me interesa copiar, luego apretando las teclas Ctrl + Shift y luego dando un solo clic en la tecla Flecha hacia abajo, me selecciona los datos hasta la fila vacía. Tema resuelto, nuevamente muchísimas gracias. Lamento haber aprendido esta operación tan tarde.   Saludos, Israel    Betomil
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • 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.