CONCATENAR MASIVO EN EXCEL

Поделиться
HTML-код
  • Опубликовано: 27 окт 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

Комментарии • 74

  • @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 7 месяцев назад

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

    • @Adrian__d-.-b
      @Adrian__d-.-b 6 месяцев назад

      @@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 3 месяца назад

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

  • @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

  • @ddelvil
    @ddelvil 8 месяцев назад +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

  • @juanvasconcel6014
    @juanvasconcel6014 Год назад +1

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

  • @Stevenyoelo
    @Stevenyoelo 25 дней назад +1

    Muchas gracias!!!!

  • @isaiverasteguimtz4549
    @isaiverasteguimtz4549 2 года назад +1

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

  • @daniloperezsantisteban7248
    @daniloperezsantisteban7248 5 месяцев назад +1

    Funcionó perfecto. Mil gracias.

  • @lilianalopez8700
    @lilianalopez8700 9 месяцев назад +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

  • @nicolasvargas8739
    @nicolasvargas8739 Год назад +1

    Muchas gracias por tu valioso aporte.

  • @jeissongutierrezsanchez1719
    @jeissongutierrezsanchez1719 3 месяца назад +1

    Muy pro amigo, gracias!!!!

  • @ricardoalvites256
    @ricardoalvites256 Год назад +1

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

  • @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.

  • @erickestuardog
    @erickestuardog Год назад +1

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

  • @lexluis69
    @lexluis69 3 месяца назад +1

    excelente exactamente lo que necesitaba gracias

  • @mars59131
    @mars59131 Год назад +1

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

  • @anderssontenorio3997
    @anderssontenorio3997 2 года назад +2

    Muchas graciassssssss me acaba de ahorrar hojas de trabajo graciaaaaaaaaaaaaaasssssssssssssss

  • @komatsumaryjdadul8027
    @komatsumaryjdadul8027 Год назад +1

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

  • @ricardosuriano7466
    @ricardosuriano7466 Год назад +1

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

  • @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
    @gabrielalbertoarcilazapata2937 2 года назад +1

    Funciona correctamente, Gracias

  • @guillermoabsanmiguel5173
    @guillermoabsanmiguel5173 8 месяцев назад +1

    muchisimas gracias

  • @maytefadrique8740
    @maytefadrique8740 2 года назад +2

    Me ayudo mucho muchísimas 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

  • @audryortega5087
    @audryortega5087 Год назад +1

    Muy buena explicación. Me ayudo mucho.

  • @alannacho9784
    @alannacho9784 2 года назад +1

    Genial, me ayudo bastante gracias.

  • @felipegranados3329
    @felipegranados3329 Год назад +1

    Videázo, crack

  • @superprimariasudvensigueme1781
    @superprimariasudvensigueme1781 2 года назад +1

    EXCELENTE

  • @cristianedward7616
    @cristianedward7616 2 года назад +1

    Gracias!

  • @turnertaker
    @turnertaker 6 месяцев назад

    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 10 месяцев назад

    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.

  • @elsaflores9666
    @elsaflores9666 25 дней назад

    Hola, al correr la formula me aparece "error de compilación" Se esperaba fin de la instrucción. Y al cerrar esa ventana me sombrea la palabra "Dim" del código. ¿Por favor me podrían apoyar? Muchas gracias.

  • @JoseUmpierrezGuerrero
    @JoseUmpierrezGuerrero 6 месяцев назад

    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  5 месяцев назад

      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

  • @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.

  • @DiegoJuanLinaresSalas
    @DiegoJuanLinaresSalas 6 месяцев назад

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

  • @jgarzonaya
    @jgarzonaya 7 месяцев назад

    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  6 месяцев назад

      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/

  • @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!

  • @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

  • @NohemiMartineznohestmm
    @NohemiMartineznohestmm 2 года назад

    Hola sirve para concatenar de forma vertical y horizontal?

  • @joseluisalexandervaldiviez6302

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

  • @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 Год назад

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

    • @rangob4696
      @rangob4696  Год назад

      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 9 месяцев назад

      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

  • @3lm0.98
    @3lm0.98 2 года назад

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

  • @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.

  • @lisbethpineda7203
    @lisbethpineda7203 11 месяцев назад

    Hola gracias me sale error 😢

  • @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!