Jump to content

Ayuda funcion concatenar


Recommended Posts

Buenas,

 

Quisiera poder arreglar una función en vba que me permite concatenar en comas las celdas seleccionadas.

El problema es que al concatenar, aparece un espacio antes de cada coma.

 

Necesito que no aparezca la coma, en el adjunto muestro el resultado deseado.

 

Function CONCATENARCELDAS(rango As Range)

For Each celda In rango.Cells

    If celda.Value <> "" Then
        resultado = resultado & ", " & celda.Value
    End If
    
Next celda

resultado = Right(resultado, Len(resultado) - 2)

CONCATENARCELDAS = resultado




End Function

CONCATENAR.xlsm

 

 

Saludos.!

Link to comment
Share on other sites

Hola AlexanderS, gracias por la respuesta.

Efectivamente tu código me funciono, pero tengo el problema de que solo puedo concatenar en horizontal, si lo hago en vertical, me arroja error, cosa que con el primer código no pasa.

 

Aver si me ayudas con eso pls, saludos!

Link to comment
Share on other sites

hola!

 

espero te sirva, solo se modifico la parte de        

resultado = resultado & "," & celda.Value le quite el espacio y

resultado = Right(resultado, Len(resultado) - 1) en el 1 tenia 2

quedando de la siguiente manera:

 

Function CONCATENARCELDAS(rango As Range)

For Each celda In rango.Cells

    If celda.Value <> "" Then
        resultado = resultado & "," & celda.Value
    End If
    
Next celda

resultado = Right(resultado, Len(resultado) - 1)

CONCATENARCELDAS = resultado


End Function
 

Link to comment
Share on other sites

Hace 4 horas, manzano dijo:

Hola AlexanderS, gracias por la respuesta.

Efectivamente tu código me funciono, pero tengo el problema de que solo puedo concatenar en horizontal, si lo hago en vertical, me arroja error, cosa que con el primer código no pasa.

 

Aver si me ayudas con eso pls, saludos!

Hola, para mi código esta es la solución:

Function CONCATENARCELDAS(rango As Variant)

On Error GoTo er
CONCATENARCELDAS = Join(Application.Transpose(Application.Transpose(rango)), ",")

Exit Function
er:
CONCATENARCELDAS = Join(Application.Transpose(rango), ",")

End Function

Saludos

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

Guest
This topic is now closed to further replies.
  • 28 ¿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
  • Files

  • Download Statistics

    • Files
      150
    • Comments
      87
    • Reviews
      25

  • Crear macros Excel

  • Posts

    • Hola guapa . Si que conozco una web de cafeteras , yo uso la cafetera para preparar café en frío . Te dejo aquí la web , hay de todo.
    • Buenas noches a todos espero se encuentren muy bien La presente es para solicitar amablemente su orientación con lo siguiente: Tego un libro de excel para registrar las horas laboradas en excel, los meses y el nombre del empleado cambian al usar una lista desplegable, sin embargo lo que necesito es ir guardando los datos que se ingresan manualmente en la plantilla y que corresponden a cada empleado y que a medida que cambie de nombre la hoja se ponga en blanco Para mayor comprensión adjunto el archivo   Muchas gracias por su gentil colaboración     INCENTIVOS LIBRO DE TRABAJO.xlsx
    • Hola a todos. No encuentro como evitar el parpadeo del cursor. Creo que se produce al recalcular la función ahora() ¿Alguna idea? Muchas gracias.
    • Tengo dos hojas de cálculo de Excel que llamare "Hoja A" y "Hoja B". Ambas tienen una columna A de códigos de clientes y una columna B con la venta semestral correspondiente a cada uno de esos códigos de clientes. La Hoja A incluye las ventas del semestre anterior y la Hoja B incluye las ventas de este semestre. Quiero crear una fórmula en Excel para agregar una columna a la Hoja A con las ventas extraídas de la Hoja B, estos datos deben hacer referencia al código del cliente. Además, si en la Hoja B aparecen códigos de clientes nuevos, quiero agregarlos en una celda vacía debajo del resto de los códigos de la Hoja A y la venta correspondiente a cada uno de esos códigos en la misma fila, en la correspondiente columna de ventas. Podrían ayudarme a crear dicha fórmula?
    • Me gustaría saber su opinión sobre esta IA y qué impacto podría tener sobre la consulta en foros, de por sí no es un secreto que la tendencia de usarlos va a la baja, una herramienta como ésta acapara demasiado la atención. Me he tomado el atrevimiento de replicar preguntas de varios lugares y de otro foro de SAP Bussinnes donde participo y de verdad que las respuestas que arroja son muy acertadas. Digo, hay que personalizar un poco pero te da consultas SQL, su cambio a HANA, el paso a paso entre módulos del ERP, cómo conectar con Power BI, sentencias VBA, funciones de Excel, sentencias de crystal R, y un largo etc. que le da la ventaja de toda la información con la que se creo, a la que accede en línea al instante y la que seguirá teniendo cada minuto que pasa. Hice unas pruebas como extensión de Google Sheet y en lugar de escribir una fórmula le describes lo que quieres que haga con los valores de las celdas y te de vuelve el resultado. 😲 Tal vez para usuarios avanzados como los que conviven en este foro sea más fácil sacarle provecho mientras que al usuario promedio le cueste un poco aplicar lo que la IA devuelve, pero vaya que cuando interactúas con la herramienta a parte de divertido te sorprende. ¿Que opinan? Saludines
  • Recently Browsing

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Privacy Policy