Saltar al contenido principal

¿Cómo copiar filas de varias hojas de trabajo según los criterios en una nueva hoja?

Supongamos que tiene un libro de trabajo con tres hojas de trabajo que tienen el mismo formato que se muestra a continuación. Ahora, desea copiar todas las filas de estas hojas de trabajo cuya columna C contiene el texto "Completado" en una nueva hoja de trabajo. ¿Cómo podría resolver este problema rápida y fácilmente sin copiarlos y pegarlos uno por uno manualmente?

Copie filas de varias hojas de trabajo según los criterios en una nueva hoja con código VBA


Copie filas de varias hojas de trabajo según los criterios en una nueva hoja con código VBA

El siguiente código de VBA puede ayudarlo a copiar filas específicas de todas las hojas de trabajo dentro del libro de trabajo según una determinada condición en una nueva hoja de trabajo. Por favor haz lo siguiente:

1. Mantenga pulsado el ALT + F11 teclas para abrir el Microsoft Visual Basic para aplicaciones ventana.

2. Hacer clic recuadro > Móduloy pegue el siguiente código en la ventana del módulo.

Código de VBA: copie filas de varias hojas según los criterios en una nueva hoja

Public Sub CopyRows_ValuesAndNumberFormats()
Dim xWs As Worksheet
Dim xCWs As Worksheet
Dim xRg As Range
Dim xStrName As String
Dim xRStr As String
Dim xRRg As Range
Dim xC As Integer
On Error Resume Next
Application.DisplayAlerts = False
xStr = "Kutools for Excel"
xRStr = "Completed"
Set xCWs = ActiveWorkbook.Worksheets.Item(xStr)
If Not xCWs Is Nothing Then
    xCWs.Delete
End If
Set xCWs = ActiveWorkbook.Worksheets.Add
xCWs.Name = xStr
xC = 1
For Each xWs In ActiveWorkbook.Worksheets
    If xWs.Name <> xStr Then
        Set xRg = xWs.Range("C:C")
        Set xRg = Intersect(xRg, xWs.UsedRange)
        For Each xRRg In xRg
            If xRRg.Value = xRStr Then
               xRRg.EntireRow.Copy
               xCWs.Cells(xC, 1).PasteSpecial xlPasteValuesAndNumberFormats
               xC = xC + 1
            End If
        Next xRRg
    End If
Next xWs
Application.DisplayAlerts = True
End Sub

Note: En el código anterior:

  • El texto "Completado" en esto xRStr = "Completado" script indica la condición específica en la que desea copiar filas en función;
  • C: C en este Establecer xRg = xWs.Range ("C: C") script indica la columna específica donde se ubica la condición.

3. Entonces presione F5 clave para ejecutar este código, y todas las filas con la condición específica se han copiado y pegado en una nueva hoja de trabajo llamada Kutools for Excel dentro del libro de trabajo actual. Ver captura de pantalla:


Artículos de datos de extracción o copia más relativos:

  • Copiar datos a otra hoja de trabajo con filtro avanzado en Excel
  • Normalmente, podemos aplicar rápidamente la función de Filtro avanzado para extraer datos de los datos sin procesar en la misma hoja de trabajo. Pero, a veces, cuando intenta copiar el resultado filtrado a otra hoja de trabajo, recibirá el siguiente mensaje de advertencia. En este caso, ¿cómo podría hacer frente a esta tarea en Excel?
  • Copie filas en una hoja nueva según los criterios de columna en Excel
  • Por ejemplo, hay una tabla de compra de frutas y ahora necesita copiar los registros a una nueva hoja en función de la fruta especificada, ¿cómo hacerlo fácilmente en Excel? Aquí presentaré un par de métodos para copiar filas a una nueva hoja según los criterios de columna en Excel.
  • Copiar filas si la columna contiene texto / valor específico en Excel
  • Suponiendo que desea encontrar celdas que contengan texto o valor específico en una columna y luego copiar toda la fila donde se encuentra la celda encontrada, ¿cómo podría lidiar con ella? Aquí presentaré un par de métodos para encontrar si la columna contiene texto o valor específico y luego copiaré toda la fila en Excel.

  • Barra de súper fórmula (edite fácilmente varias líneas de texto y fórmulas); Diseño de lectura (leer y editar fácilmente un gran número de celdas); Pegar en rango filtrado...
  • Combinar celdas / filas / columnas y conservación de datos; Contenido de celdas divididas; Combinar filas duplicadas y suma / promedio... Prevenir celdas duplicadas; Comparar rangos...
  • Seleccione Duplicado o Único Filas; Seleccionar filas en blanco (todas las celdas están vacías); Super Find y Fuzzy Find en muchos libros de trabajo; Selección aleatoria ...
  • Copia exacta Varias celdas sin cambiar la referencia de la fórmula; Crear referencias automáticamente a varias hojas; Insertar viñetas, Casillas de verificación y más ...
  • Fórmulas favoritas e insertar rápidamente, Rangos, gráficos e imágenes; Cifrar celdas con contraseña; Crear lista de distribución y enviar correos electrónicos ...
  • Extraer texto, Agregar texto, Eliminar por posición, Quitar espacio; Crear e imprimir subtotales de paginación; Convertir entre contenido de celdas y comentarios...
  • Súper filtro (guardar y aplicar esquemas de filtros a otras hojas); Orden avanzado por mes / semana / día, frecuencia y más; Filtro especial en negrita, cursiva ...
  • Combinar libros y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión por lotes de xls, xlsx y PDF...
  • Agrupación de tablas dinámicas por número de semana, día de la semana y más ... Mostrar celdas bloqueadas y desbloqueadas por diferentes colores; Resalte las celdas que tienen fórmula / nombre...
pestaña kte 201905
  • Habilite la edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abra y cree varios documentos en nuevas pestañas de la misma ventana, en lugar de en nuevas ventanas.
  • ¡Aumenta su productividad en un 50% y reduce cientos de clics del mouse todos los días!
officetab parte inferior
Comments (2)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi,

thank you very much for the code. I have a question: the code runs smoothly on some of my sheets, but looks like enters an infinite loop in some other ones which makes excel crash. What could the reason be?
This comment was minimized by the moderator on the site
Hello there, thank you so much for the code above, it solved me a problem with a complex file; a solution I have been looking for a while now. Thank you..I have one question. How do I change the code so that it copies the rows but only from colum A to colum Q, so not Entire.Row?Thank you in advance and great work!
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations