Cómo concatenar varias celdas

Sdílet
Vložit
  • čas přidán 5. 09. 2024
  • En este vídeo se explica cómo concatenar varias celdas de una vez, tanto con la funcion UNIRCADENAS (disponible en las versiones más recientes de Excel) como con una formulación secuencial y con una función definida por el usuario (disponible en todas las versiones).
    Más información (contenidos relacionados):
    ... sobre ¡Deja de usar celdas combinadas en Excel!.- • ¡Deja de usar celdas c...
    ... sobre Cómo hacer macros sin saber hacer macros: grabación de macros básicas en Excel.- • Cómo hacer macros sin ...
    ... sobre Cómo mostrar la cinta Programador o Desarrollador.- • Cómo mostrar la cinta ...
    Apoya a Excel Avanzado para Administración de Empresas:
    Donaciones: www.paypal.me/...
    Suscripción (gratuita): / @eaae
    Tienda: teespring.com/...
    Membresía (unión al canal): / @eaae
    Consultas comerciales: Consultas.EAAE@gmail.com
    Síguenos en RRSS:
    - en Facebook: / excel-avanzado-para-ad...
    - en Twitter: / excelrpv

Komentáře • 56

  • @aratheonquark3495
    @aratheonquark3495 Před rokem +2

    Gracias Rafael, como siempre a pesar de llevar muchos años trabajando con Excel siempre aprendo algo con tus videos.

    • @eaae
      @eaae  Před rokem

      Muchas gracias por su comentario. Me alegro de que el contenido de nuestros vídeos le siga resultando novedoso.

  • @urkiano
    @urkiano Před rokem +2

    Increible maestro me quito el cráneo.
    Sin palabras

    • @eaae
      @eaae  Před rokem

      Muchas gracias, Antonio.

  • @grijalvaescobedo158
    @grijalvaescobedo158 Před rokem +4

    Gracias amigo Rafa por compartirlo saludos 🇲🇽👌

    • @eaae
      @eaae  Před rokem +1

      Muchas gracias a usted por seguirnos con tanta fidelidad.

  • @brendamg7298
    @brendamg7298 Před rokem +3

    Muchas gracias

    • @eaae
      @eaae  Před rokem +1

      Gracias a usted por seguirnos.

  • @hugogalindo6495
    @hugogalindo6495 Před rokem +1

    He utilizado mucho macros pero nunca investigué sobre funciones personalizadas por lo que este fue mi primer contacto. Muy educativo video. Le agradezco mucho maestro.

    • @eaae
      @eaae  Před rokem +1

      Muchas gracias, Hugo. Me alegro de que le haya gustado.

  • @fernandonebreda3005
    @fernandonebreda3005 Před rokem +2

    Muy interesante Rafael... Muchas gracias de nuevo por sus (tus) aportaciones tan exquisitamente planteadas y tan ricas dialécticamente. Enhorabuena por tu brillante canal...

    • @eaae
      @eaae  Před rokem +2

      Muchas gracias, Fernando. Me alegro de que este vídeo le haya parecido interesante y de que nos siga con tanta fidelidad.

  • @manuelcalvoguerra3267
    @manuelcalvoguerra3267 Před rokem +1

    Muy instructivo 👌🏽

    • @eaae
      @eaae  Před rokem

      Muchas gracias. Me alegro de que le haya gustado.

  • @casamusadapartsamobladosqu7123

    Como siempre: muy instructivo, útil y perfectamente explicado.

    • @eaae
      @eaae  Před rokem +1

      Muchas gracias. Me alegro de que le haya gustado.

  • @rrrraaaacccc80
    @rrrraaaacccc80 Před rokem +1

    Excelente como siempre. El equipo base de España en el mundial 1982 💯👍

    • @eaae
      @eaae  Před rokem +1

      Muchas gracias, Ramiro.

  • @jmarioag72
    @jmarioag72 Před rokem +2

    Muchas gracias, muy útil la función y la que hizo como definida por el usuario. muchas gracias

    • @eaae
      @eaae  Před rokem +1

      Muchas gracias. Me alegro de que le haya gustado.

  • @jesusgalme2821
    @jesusgalme2821 Před rokem +2

    Estupendo video y muy bien explicado, como siempre. Me temo que este puede ser el preludio de otro que está por llegar. Cual será? Muchas gracias por la información. Cuídese.

    • @eaae
      @eaae  Před rokem +1

      Muchas gracias, Jesús. Admito sugerencias para próximos contenidos... ;-)

  • @Carloskursh
    @Carloskursh Před rokem +2

    Muy bueno!!

    • @eaae
      @eaae  Před rokem +1

      Muchas gracias, Carlos.

  • @carlosmantilla7997
    @carlosmantilla7997 Před rokem +2

    Magistral como es la costumbre

    • @eaae
      @eaae  Před rokem +1

      Muchas gracias, Carlos.

  • @frenan82
    @frenan82 Před rokem +2

    Para guardar con macros yo utilizo .xlsb que aparte de ser compatible con macros ocupa menos espacio. Igual es buen tema para hacer algún video sobre este tipo de archivos (yo lo uso pero no soy un experto ni mucho menos en sus diferencias). Un saludo y muchas gracias.

  • @Fredick.7
    @Fredick.7 Před rokem +1

    🙂...Interesante, gracias por compartir...👍

    • @eaae
      @eaae  Před rokem +1

      Muchas gracias a usted por seguirnos con tanta fidelidad.

    • @Fredick.7
      @Fredick.7 Před rokem +1

      @@eaae ... Gracias a DIOS en todo caso.

    • @eaae
      @eaae  Před rokem

      @@Fredick.7 Eso, por supuesto.

  • @unobuscando
    @unobuscando Před rokem

    Es preferible utilizar VBA.Mid en lugar de VBA.Right porque no hay que utilizar VBA.Len en su formulación: VBA.Mid(cadena, posición), en nuestro caso >

    • @Fredick.7
      @Fredick.7 Před rokem

      Una subrutina se puede abordar de muchas formas, lo recomendable es que sea funcional, legible y eficiente; Pero, si a lo anterior le simplificas el código, mejor. Te recomiendo no uses la instrucción VBA, no es necesario. Ejemplo:
      cadena = Mid(cadena, Len(separador)+1)

  • @unobuscando
    @unobuscando Před rokem

    A mí me gusta llamar a la variable que representa al rango de una celda simplemente como "celda" As Range. Creo que menos es mas, siempre que la claridad no se vea comprometida.

    • @Fredick.7
      @Fredick.7 Před rokem

      El nombre de una variable debe ser simplificada, pero sobre todo descriptible.

  • @unobuscando
    @unobuscando Před rokem +1

    Otra cosa, he visto ya varias veces utilizar el añadido tras Next (p.e. Next rangoCelda en lugar de sólo Next), pero yo no lo utilizo porque me parece una redundancia. Le ves alguna ventaja?

    • @eaae
      @eaae  Před rokem

      Al menos, facilita la interpretación del código, al vincular visualmente el comienzo y el fin del bucle.

    • @Fredick.7
      @Fredick.7 Před rokem +1

      Lógico, si tienes 2 ciclos es indiferente usarlo, pero cuando trabajas con matrices multidimensionales donde se tenga que anidar más de dos ciclos For-Net (o sus variantes) se recomienda especificar donde terminan los ciclos. A mi me tocado anidar hasta 4 ciclos FOR, créeme, cuando te toca leer el código ayuda mucho.

  • @sabancarlos6
    @sabancarlos6 Před 7 měsíci +1

    Como omitir las celdas en blanco?

    • @eaae
      @eaae  Před 7 měsíci

      Con funciones de sustitución de texto como argumento de funciones condicionales no le será difícil conseguirlo.

  • @porfirioriosolivares
    @porfirioriosolivares Před rokem +1

    Tengo una duda.
    Cuando insertar un módulo?
    No da igual escribir el código en una de las hojas?

    • @eaae
      @eaae  Před rokem

      En este caso podría escribir el código en una hoja, pero normalmente el uso de un módulo da una solución más cómoda si luego se quiere usar en hojas distintas.

    • @porfirioriosolivares
      @porfirioriosolivares Před rokem +1

      @@eaae Uhhh. Ya lo veo.
      Muchas gracias

    • @Fredick.7
      @Fredick.7 Před rokem

      No. Una UDF que se pretenda llamar desde una hoja de cálculo debe estrictamente codificarse en un módulo estándar. En ningún otro lado más, porque no funcionará. Saludos desde Ecuador.

  • @unobuscando
    @unobuscando Před rokem +1

    Yo suelo usar FDU cuando no encuentro una función estándar, pero el inconveniente es que el tiempo de ejecución suele incrementarse considerablemente, sobre todo si la utilizar mucho y con recursividad. Hay alguna forma de implementar FDU de forma compilada? Gracias. Saludos.

    • @Fredick.7
      @Fredick.7 Před rokem

      Definitivamente sí, implementando las funciones nativas de hojas de cálculo con el método Evaluate y el objeto Application. Además de aplicar las técnicas de codificación para desplazar datos en bloques. Y aplicar con rigurosidad estructuras matriciales (Arreglos). Pero, como se aplica todo esto, es otra historia. Lastimosamente hay escasa información sobre el tema de UDF en español.

  • @unobuscando
    @unobuscando Před rokem

    Una pregunta: por qué la función no requiere la declaración del tipo de salida? (Function ConcatenarVarias (separador, rango) As String) ?

    • @Fredick.7
      @Fredick.7 Před rokem

      Cuando no se especifica el tipo a la función, por defecto es de tipo Variant (Variante). Las funciones tipo Variant pueden asumir múltiples tipos de datos, en este caso reemplaza al tipo string (cadena). Normalmente se recomienda usar el tipo que le corresponde, dado que el tipo Variant consume más recurso. Aunque te comento que en UDF estrictamente matriciales es obligatorio asignarle el tipo Variant, lógicamente este no es el caso, dado que respuesta se concentra en una celda.

  • @unobuscando
    @unobuscando Před rokem

    Por favor, podrías explicar por qué motivo el separador no lo declaras como String sino como Variant? Gracias.

    • @eaae
      @eaae  Před rokem

      No habría inconveniente en declararlo como cadena, porque normalmente será un texto.

    • @Fredick.7
      @Fredick.7 Před rokem +1

      Cuando no se especifica el tipo a una variable, por defecto será de tipo Variant (Variante). Las variables de tipo Variant pueden asumir múltiples tipos de datos, en este caso reemplaza al tipo string (cadena). Normalmente se recomienda usar el tipo que le corresponde, dado que el tipo Variant consume más recurso.

  • @jesusgalego1997
    @jesusgalego1997 Před 26 dny

    Buenas de nuevo. Tengo una duda que posiblemente Ud. me pueda resolver. Hay alguna forma de concatenar letras las cuales dependan de un número. Por ejemplo: quiero hacer un generador de claves automático. La clave la puedo generar poniendo caracter(aleatorio.entre(B1;C1) (33 y 122). Pero me gustaría hacer una clave de 5, 10 o 32 dígitos con tan solo poner un número. También existe la pega, que resolvió Ud. en otro video, que cada vez que se aplica ENTER se recalcularía. Muchas gracias por su tiempo y conocimientos. Intentaré equivocarme a ver si doy con algo.

    • @eaae
      @eaae  Před 25 dny +1

      La solución depende de cómo haya generado las posiciones de cada carácter de la clave (si en una cadena de texto, o en distintas celdas). Comparta un ejemplo de su hoja de cálculo para que podamos ofrecerle alguna ayuda más específica.

    • @jesusgalego1997
      @jesusgalego1997 Před 24 dny

      Hice un listado aparte pero agradezco mejoras. No se como pasarle el archivo o una foto del mismo. Muchas gracias por su tiempo.

    • @eaae
      @eaae  Před 24 dny

      @@jesusgalego1997 Puede subirlo a algún depósito online y compartir un enlace, o enviarlo a consultas.eaae@gmail.com.

    • @jesusgalego1997
      @jesusgalego1997 Před 24 dny

      He estado investigando y, tras quebrarme mucho la cabeza me salió esta fórmula: UNIRCADENAS("";VERDADERO;CARACTER(ALEATORIO.ENTRE($C$2;$D$2+(FILA(INDIRECTO("1:"&$E$2))-1)*0))) . Mil gracias por su interés.