Skip to main content

¿Cómo copiar filas de varias hojas de cálculo según criterios en una nueva hoja?

Author: Xiaoyang Last Modified: 2025-08-06

Supongamos que tienes un libro con tres hojas de cálculo que tienen el mismo formato, como se muestra en la siguiente captura de pantalla. Ahora, deseas copiar todas las filas de estas hojas donde la columna C contenga el texto “Completado” en una nueva hoja de cálculo. ¿Cómo podrías resolver este problema rápidamente y sin tener que copiar y pegar manualmente una por una?

sample data 1 ample data 2 ample data 3

Copiar filas de varias hojas de cálculo según criterios en una nueva hoja con código VBA


Copiar filas de varias hojas de cálculo según criterios en una nueva hoja con código VBA

El siguiente código VBA puede ayudarte a copiar filas específicas de todas las hojas de cálculo dentro del libro según una condición determinada en una nueva hoja de cálculo. Por favor, sigue estos pasos:

1. Mantén presionadas las teclas ALT + F11 para abrir la ventana de Microsoft Visual Basic para Aplicaciones.

2. Haz clic en Insertar > Módulo, y pega el siguiente código en la Ventana del Módulo.

Código VBA: Copiar filas de varias hojas según 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

Nota: En el código anterior:

  • El texto “Completado” en este script xRStr = "Completado" indica la condición específica en base a la cual quieres copiar las filas;
  • C:C en este Set xRg = xWs.Range("C:C") script indica la columna específica donde se encuentra la condición.

3. Luego, presiona la tecla F5 para ejecutar este código, y todas las filas con la condición específica se habrán copiado y pegado en una nueva hoja de cálculo llamada Kutools for Excel dentro del libro actual. Ver captura de pantalla:

vba code to copy rows from multiple worksheets based on criteria



Más artículos relacionados sobre extracción o copia de datos:

  • Copiar datos a otra hoja de trabajo con filtro avanzado en Excel
  • Normalmente, podemos aplicar rápidamente la función Filtro Avanzado para extraer datos de los datos originales en la misma hoja de trabajo. Pero, a veces, cuando intentas copiar el resultado filtrado a otra hoja de trabajo, recibirás el siguiente mensaje de advertencia. En este caso, ¿cómo podrías manejar esta tarea en Excel?
  • Copiar filas a una nueva hoja basada en criterios de columna en Excel
  • Por ejemplo, hay una tabla de compra de frutas, y ahora necesitas copiar registros a una nueva hoja basada en una fruta especificada, ¿cómo hacerlo fácilmente en Excel? Aquí te presentaré algunos métodos para copiar filas a una nueva hoja basada en criterios de columna en Excel.
  • Copiar filas si la columna contiene texto/valor específico en Excel
  • Supongamos que deseas encontrar celdas que contengan un texto o valor específico en una columna, y luego copiar toda la fila donde se encuentra esa celda, ¿cómo podrías manejarlo? Aquí te presentaré algunos métodos para encontrar si una columna contiene un texto o valor específico y luego copiar toda la fila en Excel.

  • Barra de Fórmulas Super (editar fácilmente múltiples líneas de texto y fórmulas); Diseño de Lectura (leer y editar fácilmente grandes cantidades de celdas); Pegar en Rango Filtrado...
  • Combinar Celdas/Filas/Columnas manteniendo los datos; Dividir contenido de celdas; Combinar filas duplicadas y Sumar/Promediar... Prevenir celdas duplicadas; Comparar rangos...
  • Seleccionar filas duplicadas o únicas; Seleccionar filas en blanco (todas las celdas están vacías); Búsqueda Avanzada y Búsqueda Difusa en muchos libros de trabajo; Selección Aleatoria...
  • Copia Exacta de múltiples celdas sin cambiar la referencia de la fórmula; Crear automáticamente referencias a múltiples hojas; Insertar viñetas, casillas de verificación y más...
  • Favoritos e inserción rápida de fórmulas, rangos, gráficos e imágenes; Encriptar celdas con contraseña; Crear lista de correo y enviar correos electrónicos...
  • Extraer texto, Agregar texto, Eliminar por posición, Eliminar espacio; Crear e imprimir estadísticas de página; Convertir entre el contenido de las celdas y los comentarios...
  • Super Filtro (guardar y aplicar esquemas de filtro a otras hojas); Clasificación avanzada por mes/semana/día, frecuencia y más; Filtro especial por negrita, cursiva...
  • Combinar libros y hojas de trabajo; Combinar tablas basadas en columnas clave; Dividir datos en varias hojas; Conversión masiva de xls, xlsx y PDF...
  • Agrupación de Tabla Dinámica por número de semana, día de la semana y más... Mostrar celdas desbloqueadas, bloqueadas por diferentes colores; Resaltar celdas que tienen fórmula/nombre...
kte tab 201905
  • Habilitar edición y lectura con pestañas en Word, Excel, PowerPoint, Publisher, Access, Visio y Project.
  • Abrir y crear varios documentos en nuevas pestañas de la misma ventana, en lugar de en ventanas nuevas.
  • ¡Aumenta tu productividad en un 50%, y reduce cientos de clics del ratón cada día!
officetab bottom