Saltar al contenido principal

¿Cómo concatenar valores de celda hasta que encuentre una celda en blanco en una columna?

doc concatenar hasta que quede en blanco 1

Por ejemplo, tengo una lista de valores que incluye algunas celdas en blanco, y ahora quiero concatenar cada conjunto de datos entre espacios en blanco en una celda y enumerar los valores combinados en otra columna como se muestra en la siguiente captura de pantalla. ¿Cómo podría concatenar celdas hasta encontrar una celda en blanco en una columna?

Concatenar valores de celda hasta que encuentre una celda en blanco en una columna con código VBA

Concatenar valores de celda hasta que encuentre una celda en blanco en una columna con Kutools para Excel


flecha azul burbuja derecha Concatenar valores de celda hasta que encuentre una celda en blanco en una columna con código VBA

No hay una forma directa de concatenar un conjunto de celdas entre espacios en blanco, pero puede aplicar el siguiente código VBA para solucionarlo. Haz lo siguiente:

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

2. Hacer clic recuadro > Móduloy pegue el siguiente código en el Ventana de módulo.

Código de VBA: concatenar valores de celda hasta que encuentre una celda en blanco

Sub Concatenatecells()
'updateby Extendoffice
    Dim xRg As Range
    Dim xSaveToRg As Range
    Dim xTxt As String
    Dim xCell As Range
    Dim xTStr As String
    On Error Resume Next
    xTxt = ActiveWindow.RangeSelection.Address
    Set xRg = Application.InputBox("Please selecte the data range:", "Kutools for Excel", xTxt, , , , , 8)
    If xRg Is Nothing Then Exit Sub
    If xRg.Columns.Count > 1 Then
        MsgBox "the selected range is more than one column", vbInformation, "Kutools for Ecel"
        Exit Sub
    End If
    Set xSaveToRg = Application.InputBox("Please selecte output cell:", "Kutools for Excel", , , , , , 8)
    If xSaveToRg Is Nothing Then Exit Sub
    Set xSaveToRg = xSaveToRg.Cells(1)
    Application.ScreenUpdating = False
    For Each xCell In xRg
        If xCell <> "" Then
            xTStr = xTStr & xCell & " "
        Else
            xSaveToRg.Value = xTStr
            Set xSaveToRg = xSaveToRg.Offset(1)
            xTStr = ""
        End If
    Next
    If xTStr <> "" Then xSaveToRg.Value = Left(xTStr, Len(xTStr) - 1)
    Application.ScreenUpdating = True
End Sub

3. Entonces presione F5 para ejecutar este código, y aparece un cuadro emergente para recordarle que seleccione el rango de datos que desea concatenar, vea la captura de pantalla:

doc concatenar hasta que quede en blanco 10

4. Luego haga clic OK, y aparece otro cuadro de aviso, seleccione una celda para generar el resultado concatenado, vea la captura de pantalla:

doc concatenar hasta que quede en blanco 11

5. Y luego haz clic OK , y los datos de la lista de columnas se concatenan entre los espacios en blanco, vea la captura de pantalla:

doc concatenar hasta que quede en blanco 1


flecha azul burbuja derecha Concatenar valores de celda hasta que encuentre una celda en blanco en una columna con Kutools para Excel

Si tiene Kutools for Excel, combinando su Transformar rango y Combinar características, también puede terminar este trabajo lo antes posible. los Transformar rango La utilidad puede ayudarlo a convertir la columna única en un rango, y la Combinar La función puede ayudarlo a concatenar el rango transformado en una columna.

Kutools for Excel : con más de 300 prácticos complementos de Excel, prueba gratuita y sin límite en 30 días. 

Después de instalar Kutools for Excel, haga lo siguiente:

1. Seleccione las celdas que desea concatenar y haga clic en Kutools > Gama de Colores > Transformar rango, ver captura de pantalla:

2. En la Transformar rango cuadro de diálogo, comprobar Columna única para rango Bajo el Tipo de transformaciónY seleccione La celda en blanco delimita registros bajo el Filas por registro, ver captura de pantalla:

doc concatenar hasta que quede en blanco 3

3. A continuación, haga clic en Ok, y aparecerá un cuadro emergente para recordarle que seleccione una celda para generar el resultado, vea la captura de pantalla:

doc concatenar hasta que quede en blanco 4

4. Hacer clic OK, y los datos de una sola columna se han convertido en múltiples filas y columnas por la celda en blanco, vea la captura de pantalla:

doc concatenar hasta que quede en blanco 5

5. Los datos convertidos están en varias columnas, por lo que debe combinarlos en una columna, seleccione el rango de datos y haga clic en Kutools > Fusionar y dividir > Combine filas, columnas o celdas sin perder datos, ver captura de pantalla:

6. En la Combinar columnas o filas cuadro de diálogo, realice las siguientes opciones:

(1.) Seleccione Combinar columnas Opción de la Para combinar celdas seleccionadas de acuerdo con las siguientes opciones;

(2.) Luego especifique un separador que desee para separar los valores concatenados;

(3.) Seleccione cómo desea tratar las celdas combinadas. Puede conservar o eliminar los datos originales y también puede fusionar las celdas combinadas. Ver captura de pantalla:

doc concatenar hasta que quede en blanco 7

7. Después de terminar la configuración, haga clic en Ok or ¡Aplicá! botón, las celdas se han concatenado en una columna con un separador específico, vea la captura de pantalla:

doc concatenar hasta que quede en blanco 8

¡Descargue y pruebe Kutools para Excel ahora!

Las mejores herramientas de productividad de oficina

🤖 Asistente de IA de Kutools: Revolucionar el análisis de datos basado en: Ejecución inteligente   |  Generar codigo  |  Crear fórmulas personalizadas  |  Analizar datos y generar gráficos  |  Invocar funciones de Kutools...
Características populares: Buscar, resaltar o identificar duplicados   |  Eliminar filas en blanco   |  Combine columnas o celdas sin perder datos   |   Ronda sin fórmula ...
Super búsqueda: Búsqueda virtual de criterios múltiples    Búsqueda V de valores múltiples  |   VLookup en varias hojas   |   Búsqueda difusa ....
Lista desplegable avanzada: Crear rápidamente una lista desplegable   |  Lista desplegable dependiente   |  Lista desplegable de selección múltiple ....
Administrador de columnas: Agregar un número específico de columnas  |  Mover columnas  |  Toggle Estado de visibilidad de columnas ocultas  |  Comparar rangos y columnas ...
Características destacadas: Enfoque de cuadrícula   |  Vista de diseño   |   Gran barra de fórmulas    Administrador de hojas y libros de trabajo   |  Biblioteca de Recursos (Texto automático)   |  Selector de fechas   |  Combinar hojas de trabajo   |  Cifrar/descifrar celdas    Enviar correos electrónicos por lista   |  Súper filtro   |   Filtro especial (filtro negrita/cursiva/tachado...) ...
Los 15 mejores conjuntos de herramientas12 Texto Herramientas (Añadir texto, Quitar caracteres, ...)   |   50+ Tabla Tipos (Diagrama de Gantt, ...)   |   40+ Práctico Fórmulas (Calcular la edad según el cumpleaños, ...)   |   19 Inserción Herramientas (Insertar código QR, Insertar imagen desde la ruta, ...)   |   12 Conversión Herramientas (Números a palabras, Conversión de Moneda, ...)   |   7 Fusionar y dividir Herramientas (Filas combinadas avanzadas, Células partidas, ...)   |   ... y más

Mejore sus habilidades de Excel con Kutools for Excel y experimente la eficiencia como nunca antes. Kutools for Excel ofrece más de 300 funciones avanzadas para aumentar la productividad y ahorrar tiempo.  Haga clic aquí para obtener la función que más necesita...

Descripción


Office Tab lleva la interfaz con pestañas a Office y hace que su trabajo sea mucho más fácil

  • 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!
Comments (8)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hi, I am using the VBA code, but instead of putting the data into separate rows, it is putting it all in a single cell. Does anyone have an idea why it is doing this?
This comment was minimized by the moderator on the site
Hi! After changing the values (ex, watermelon instead of apple) why is the formula not working?
This comment was minimized by the moderator on the site
Hello, Cristina

Our article provides VBA code, doesn't provide a formula. If you change the cell content, you must re-run the code again to get the correct result.
Thank you!
This comment was minimized by the moderator on the site
great job bro, Very useful
This comment was minimized by the moderator on the site
Hello,
You are welcome. Glad it helps. Any questions, please feel free to contact us. Have a great day.
Sincerely,
Mandy
This comment was minimized by the moderator on the site
It shows there's a syntax error on line 3 "Dim xRg As Range" when I'm trying to run this module based on method 1, what should I do about it?
This comment was minimized by the moderator on the site
Hello, JJ, The code works well in my worksheet, which Excel version do you use?Or you can insert a screesnhot of your problem here.
This comment was minimized by the moderator on the site
How would you do it if you want to base it off another column? I have similar data, but column B is a number then notes(like your fruit) in column I, I want to combine all notes in column I until there is another cell in Column B that has only number. Sometimes there are letter under B or the cells are blank which is why it needs to combine until a number. Then finally can it output back to where it started the combine? IE all notes for first number are in column j, but if the next number is 5 rows below that is fine, it just goes in column j but same row number as the number is found?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations