CONCATENAR MASIVO EN EXCEL

Поділитися
Вставка
  • Опубліковано 9 вер 2024
  • Function CONCATENAR_MASIVO(Rango As Range, delimitador As String)
    Dim i As Integer, Resultado As String
    Resultado = ""
    For i = 1 To Rango.Count
    Resultado = Resultado + Rango(i) & delimitador
    Next
    CONCATENAR_MASIVO = Trim(Left(Resultado, Len(Resultado) - 2)) 'quito el último delimitador
    CONCATENAR_MASIVO = CONCATENAR_MASIVO & "."
    End Function

КОМЕНТАРІ • 71

  • @mart.isabellchaves4213
    @mart.isabellchaves4213 Рік тому

    Hola me podrías colaborar como puedo aplicar esta formula con números, ya intente cambiando el formato de la celda a texto pero no funciona.

    • @rangob4696
      @rangob4696  Рік тому +1

      Prueba esto:
      - Cambia el formato de toda la columna B a General
      - Reemplaza la fórmula de la celda B3 con esta otra =TEXTO(ESPACIOS(A3);"#.##0")
      - Aplica este cambio a todas las celdas hacia abajo
      Esto debería solucionar el problema de error y de paso formatear los números con separadores de miles; si necesitas decimales basta con que cambies el formato dentro de las dobles comillas a algo como esto #.##0,00

    • @Bianca-rw4eu
      @Bianca-rw4eu 5 місяців тому

      @@rangob4696 Me Has SALVADO el día con esto excelente contenido

    • @Adrian__d-.-b
      @Adrian__d-.-b 4 місяці тому

      @@rangob4696 existe otra forma en macros mod una linea y agregando algo
      Function CONCATENAR_AJ(Rango As Range, delimitador As String)
      Dim i As Integer, Resultado As String, var
      Resultado = ""
      For i = 1 To Rango.Count

      var = CStr(Rango(i))

      Resultado = Resultado + var & delimitador
      Next

      CONCATENAR_AJ = Trim(Left(Resultado, Len(Resultado) - 2)) 'quito el último delimitador
      CONCATENAR_AJ = CONCATENAR_AJ & "."
      End Function

    • @derlizjesustesillomamani8603
      @derlizjesustesillomamani8603 2 місяці тому

      @@rangob4696 GRACIAS AHORA SI ME FUNCIONO CON LOS NÚMEROS.

  • @lexluis69
    @lexluis69 2 місяці тому +1

    excelente exactamente lo que necesitaba gracias

  • @jeissongutierrezsanchez1719
    @jeissongutierrezsanchez1719 2 місяці тому +1

    Muy pro amigo, gracias!!!!

  • @daniloperezsantisteban7248
    @daniloperezsantisteban7248 4 місяці тому +1

    Funcionó perfecto. Mil gracias.

  • @nicolasvargas8739
    @nicolasvargas8739 Рік тому +1

    Muchas gracias por tu valioso aporte.

  • @anderssontenorio3997
    @anderssontenorio3997 2 роки тому +2

    Muchas graciassssssss me acaba de ahorrar hojas de trabajo graciaaaaaaaaaaaaaasssssssssssssss

  • @komatsumaryjdadul8027
    @komatsumaryjdadul8027 Рік тому +1

    Dios te bendiga!!! me ayudaste muchisimo!!!

  • @lilianalopez8700
    @lilianalopez8700 7 місяців тому +2

    AMIGO MUCHAS GRACIAS DE VERDAD ME SIRVIO MUCHO TU VIDEO, Y DE VERDAD GRACIAS,
    ESTA FUNCION LA VERDAD TAMBIEN LA NECESITABA PARA NUMEROS Y SI A ALGUIEN LE SIRVE AQUI LES DEJO EL CODIGO PARA QUE LO AGREGUEN TAMBIEN
    Function CONCATENAR_MASIVO_NUM(Rango As Range, delimitador As String) As String
    Dim i As Integer
    Dim Resultado As String
    If Rango Is Nothing Then
    CONCATENAR_MASIVO_NUM = "Error: Rango es nulo."
    Exit Function
    End If
    If Rango.Count = 0 Then
    CONCATENAR_MASIVO_NUM = "Error: El rango está vacío."
    Exit Function
    End If
    Resultado = ""
    For i = 1 To Rango.Count
    If Not IsEmpty(Rango.Cells(i, 1).Value) Then
    Resultado = Resultado & Rango.Cells(i, 1).Value & delimitador
    End If
    Next i
    If Len(Resultado) > 0 Then
    CONCATENAR_MASIVO_NUM = Trim(Left(Resultado, Len(Resultado) - Len(delimitador))) & "."
    Else
    CONCATENAR_MASIVO_NUM = "Error: Todos los valores en el rango son nulos o vacíos."
    End If
    End Function

  • @erickestuardog
    @erickestuardog Рік тому +1

    buenísimo, gracias ... me ayudará demasiado

  • @juanvasconcel6014
    @juanvasconcel6014 Рік тому +1

    Genio! Crack del excel! tiburon! Muy buena solucion! Saludos.

  • @maytefadrique8740
    @maytefadrique8740 Рік тому +2

    Me ayudo mucho muchísimas gracias!!!

  • @ricardosuriano7466
    @ricardosuriano7466 Рік тому +1

    Excelente la explicacion y la funcion mejorada para que tome los números.

  • @audryortega5087
    @audryortega5087 Рік тому +1

    Muy buena explicación. Me ayudo mucho.

  • @ricardoalvites256
    @ricardoalvites256 Рік тому +1

    Exelente video! de mucha ayuda, felicitaciones por el contenido.

  • @isaiverasteguimtz4549
    @isaiverasteguimtz4549 Рік тому +1

    AMIGO, ERES UN CRACK. TENIA 2 DIAS BUSCANDO UNA FORMA. GRACIAS

  • @mars59131
    @mars59131 10 місяців тому +1

    Hola!, me resulto la formula que enseñaste, te lo agradezco enormemente.

  • @ddelvil
    @ddelvil 6 місяців тому +1

    Felicitaciones por el excelente trabajo, me encantó la función, yo ahora tuerza mas el rizo, como hacerlo a la inversa, supongamos que hemos comprimido esa info por x motivos, pero ahora necesito que vuelva a estar como antes, palabras en columnas. Un saludo

  • @guillermoabsanmiguel5173
    @guillermoabsanmiguel5173 6 місяців тому +1

    muchisimas gracias

  • @alannacho9784
    @alannacho9784 2 роки тому +1

    Genial, me ayudo bastante gracias.

  • @juanordinola8179
    @juanordinola8179 2 роки тому +1

    Excelente me sirvió un montón, ahorre mucho tiempo ordenando datos

    • @josefelixgarciah2818
      @josefelixgarciah2818 2 роки тому

      no me quieres compartir tu archivo, no m e queda, no se si tenga k ver la version del office

  • @gabrielalbertoarcilazapata2937

    Funciona correctamente, Gracias

  • @felipegranados3329
    @felipegranados3329 Рік тому +1

    Videázo, crack

  • @superprimariasudvensigueme1781
    @superprimariasudvensigueme1781 2 роки тому +1

    EXCELENTE

  • @rubenselayaperalta1028
    @rubenselayaperalta1028 2 роки тому +9

    trate de mejorar el código, espero que sirva:
    Function CONCATENAR_MASIVO(Rango As Range, delimitador As String)
    Dim I As Long
    Dim met As Boolean
    Dim n As Long
    Dim Resultado As String
    n = Rango.Count
    Resultado = ""
    For I = 1 To n
    If Rango(I) "" Then
    Resultado = Resultado + VBA.CStr(Rango(I)) & delimitador
    met = True
    End If
    Next
    If met = False Then
    CONCATENAR_MASIVO = ""
    Else
    CONCATENAR_MASIVO = Trim(Left(Resultado, Len(Resultado) - 2)) 'quito el último delimitador
    End If
    End Function

  • @cristianedward7616
    @cristianedward7616 2 роки тому +1

    Gracias!

  • @javierignaciorodriguezbarr4972
    @javierignaciorodriguezbarr4972 2 роки тому +1

    Hola, intenté con números de telefónos con 400 celdas y menos, y me tira VALOR. Con palabras si me funcionó. Gracias

  • @rangob4696
    @rangob4696  2 роки тому +4

    Inicialmente no tenía pensado concatenar números pero una solución rápida a ese caso sería cambiar el tipo de datos de todas las celdas, en este caso la columna A a formato de texto en vez de número!! espero les funcione!

    • @muybuendia3878
      @muybuendia3878 Рік тому

      No reconoce la Función. Da error en la instrucción Rango.Count. También da error si lo cambio por Range.Count. Por favor, puedes ver qué pasa? (habilitado para macros e insertado el código en ThisWorkbook)

    • @muybuendia3878
      @muybuendia3878 Рік тому +1

      Ya descubrí el error: en tu vídeo insertas la función en ThisWorkbook (o eso parece) y lo correcto es que vaya en Módulo1. De todas formas he visto otro error más leve: corta el último caracter de la cadena. Y es debido a esta instrucción: CONCATENAR_MASIVO = Trim(Left(Resultado, Len(Resultado) - 2)) que lo correcto es un 1 en vez de un 2.

    • @rangob4696
      @rangob4696  Рік тому +1

      @@muybuendia3878 Muchas gracias por tu ayuda!, y tienes razón, parece como si hubiese insertado en this workbook pero en realidad va en módulo y el motivo por el cual puse el -2 es porque utilicé una coma y un espacio como separador por lo que debía eliminar dos caracteres.

  • @turnertaker
    @turnertaker 5 місяців тому

    Soy nuevo usando macros.... me funcionó bien, cerre y cambie el nombre al archivo y las hojas a las que corresponda, abri el documento y me manda el error #NAME?
    Sabes como solucionarlo?
    O tengo que hacer una nueva hoja?
    Saludos y muchas gracias por la info, me ha servido mucho

  • @uptitanmx9087
    @uptitanmx9087 8 місяців тому

    habrá alguna manera de concatenar renglones cumpliendo los siguientes requisitos, uno que tengan datos y dos que cuando encuentre un renglón en blanco "reinicie" y comience a concatenar a partir del primer renglón que encuentre con datos en la parte de abajo. saludos.

  • @DiegoJuanLinaresSalas
    @DiegoJuanLinaresSalas 5 місяців тому

    PARA FORMA HORIZONTAL NO ME SALE GENERA ERROR
    ES LA MISMA FORMULA?

  • @JoseUmpierrezGuerrero
    @JoseUmpierrezGuerrero 4 місяці тому

    Hola! La macro me genera un punto al final de la concatenación, sustituyendo mi último caracter o letra por dicho punto. Sabes a qué se debe??

    • @rangob4696
      @rangob4696  4 місяці тому

      Es por esta parte del código: [ CONCATENAR_MASIVO = CONCATENAR_MASIVO & "." ] puedes eliminar esta linea si no quieres que te agregue el punto al final

  • @NohemiMartineznohestmm
    @NohemiMartineznohestmm 2 роки тому

    Hola sirve para concatenar de forma vertical y horizontal?

  • @Ileana_LucianoY
    @Ileana_LucianoY Рік тому

    Hola, quiero realizar un listado unificado masivo, pero existen palabras que se repiten ¿qué debo hacer para que no aparezcan las palabras repetidas?, es decir, aparezcan una sola vez. Espero me haya explicado y me puedas ayudar por favor, excelente vídeo.

  • @josefelixgarciah2818
    @josefelixgarciah2818 2 роки тому

    En que version de offcie lo realizaste, por que en la 2013, no se puede.

    • @rangob4696
      @rangob4696  2 роки тому

      Te recomendaría que actualices tu office, vas a evitarte muchos inconvenientes futuros, saludos!

  • @joseluisalexandervaldiviez6302

    Como podria añardirle la formula buscar v, porque quiero concatenar los textos que compartan un codigo en comun en otra hoja

  • @Laura_Talero
    @Laura_Talero Рік тому

    Hola, el computador no me permite la opción Alt + F11, tengo un Asus. No hay otra combinación o forma tradicional?

    • @rangob4696
      @rangob4696  Рік тому

      Intenta con la combinación FN+ALT+F11

  • @jgarzonaya
    @jgarzonaya 5 місяців тому

    hola como vas, no me sale al oprimir alt +f11 alguna otra forma, ya que la oprimir alt me salen las famosas letras de del office.saludos

    • @rangob4696
      @rangob4696  5 місяців тому

      Asegurate de presionar primero la tecla ALT y sin soltar presionas el F11, si no te sirve trata de seguir esta otra forma exceltotal.com/mostrar-la-ficha-programador/

  • @3lm0.98
    @3lm0.98 2 роки тому

    Esta macros sirve para concatenar números??? 🤔

  • @andresvalencia5707
    @andresvalencia5707 Рік тому

    Para excel en ingles funcionaria o que debo cambiarle

    • @rangob4696
      @rangob4696  Рік тому

      Es lo mismo para ingles, pero cualquier cosa avisa que para eso estamos

    • @andresvalencia5707
      @andresvalencia5707 Рік тому +1

      @@rangob4696 Muchas gracias funciono perfecto la macro, nuevamente agradezco gente tan pila publicando contenido de alta calidad. Gracias!

  • @andrescoronel2430
    @andrescoronel2430 10 місяців тому

    no me funciona el f 11 para abrir esa pestaña de q otra forma se puede abrir

    • @rangob4696
      @rangob4696  10 місяців тому

      Otra forma de abrir la ventana de VBA es dando clic derecho a cualquiera de las hojas de tu libro y elegir la opción de "Ver código"

  • @nicolasiturralopez4096
    @nicolasiturralopez4096 2 роки тому

    me envia el error de que la formula contiene texto no reconocido probe con numeros y texto

    • @rangob4696
      @rangob4696  2 роки тому

      La verdad no me llegó a salir ningún error así, te recomendaría volver a bajar el archivo pero en otra computadora y verificar que te salga el mismo error. Ahí me avisas y vemos otra solución.

    • @nicolasiturralopez4096
      @nicolasiturralopez4096 2 роки тому +1

      @@rangob4696 probé en otro archivo que tenía ejercicios y la fórmula venía incluida y me aparece lo mismo voy a descargar office nuevamente porque es falso el que tengo quizá sea eso

  • @axelavilanajera7657
    @axelavilanajera7657 Рік тому

    Hola, nos podrías compartir el archivo? No me sale :(

    • @rolodepaternal
      @rolodepaternal 8 місяців тому

      Function CONCATENAR_MASIVO(Rango As Range, delimitador As String)
      Dim I As Long
      Dim met As Boolean
      Dim n As Long
      Dim Resultado As String
      n = Rango.Count
      Resultado = ""
      For I = 1 To n
      If Rango(I) "" Then
      Resultado = Resultado + VBA.CStr(Rango(I)) & delimitador
      met = True
      End If
      Next
      If met = False Then
      CONCATENAR_MASIVO = ""
      Else
      CONCATENAR_MASIVO = Trim(Left(Resultado, Len(Resultado) - 2)) 'quito el último delimitador
      End If
      End Function

  • @lisbethpineda7203
    @lisbethpineda7203 10 місяців тому

    Hola gracias me sale error 😢

  • @lopcas27
    @lopcas27 Рік тому

    No me permite concatenar más de 100 filas

    • @rangob4696
      @rangob4696  Рік тому

      Eso suena raro porque inclusive con 400 filas sigue funcionando, deberías revisar bien si el rango que estás usando dentro de la fórmula es la correcta. Saludos.

    • @lesterlopez4638
      @lesterlopez4638 Рік тому

      Con más de 1500 no permite, tira error

    • @rangob4696
      @rangob4696  Рік тому +1

      @@lesterlopez4638 Esto se debe a que la celda de excel tiene un límite de caracteres permitidos, probé concatenando 5.500 celdas los cuales tenían solo 3 caracteres y la fórmula seguía funcionando.

  • @Piniron69
    @Piniron69 Рік тому

    No me sirvió en Mac

    • @rangob4696
      @rangob4696  Рік тому

      Una lástima, me he tomado el tiempo de probar y creería que el problema puede ser que tu excel esté en inglés, en ese caso puedes probar reemplazar el punto y coma por una coma simple quedando algo así =CONCATENAR_MASIVO(A1:A12,", "). Espero sea el caso!