Excel - CONCATENAR una seleccion de celdas

 
Vista:
sin imagen de perfil
Val: 179
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

CONCATENAR una seleccion de celdas

Publicado por Quico (106 intervenciones) el 27/09/2019 07:12:23
Tengo un excel adjunto, en que un boton macro me lanza un sistema para CONCATENAR una serie de datos incluidos en el excel.

El sistema que utiliza es simplemente que realiza una CONCATENACION de TODOS los valores incluidos en una columna, y me los muestra con un separador (en mi caso 'or')

Ejemplo: 100 or 101 or 102 or 103 or 104 or 105 or 106 or 107 or 108 or 109 or 110

Necesito que uno de los botones de CONCATENAR, me lo haga a partir de una preselección de celdas.
Por ejemplo, seleccionando del 103 al 107 + 110
Queriendo obtener entonces: 103 or 104 or 105 or 106 or 107 or 110

¿Cómo puedo conseguirlo?

Adjunto un excel de ejemplo y explicación pegada.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Héctor Madriz
Val: 575
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

CONCATENAR una seleccion de celdas

Publicado por Héctor Madriz (137 intervenciones) el 28/09/2019 02:35:50
Buen día, con colocar en el rango M12:M15,M18 creo que tendrías el resultado esperado.

Prueba el archivo adjunto hice una pequeña modificación en tu función.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 179
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

CONCATENAR una seleccion de celdas

Publicado por Quico (106 intervenciones) el 28/09/2019 13:50:11
Hola Héctor,

la idea de la 'Useform' esta muy bien con la posibilidad de introducir la CADENA.
El problema es que el RANGO siempre es variable y no es cómodo hacerlo así.

Desde mi punto de vista la condición debería ser que "DADO LAS CELDAS PREVIAMENTE SELECCIONADAS", ya aparezca reflejados en la 'Useform'.
Yo ponia un ejemplo, pero no me referia a que siempre fuera ese rango.

Puede alguna 'macro' vinculada a la Useform, detectar las celdas seleccionas o rango?

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Héctor Madriz
Val: 575
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

CONCATENAR una seleccion de celdas

Publicado por Héctor Madriz (137 intervenciones) el 29/09/2019 21:17:38
Buen día, el ejemplo que te pase los rangos son variables. (lo seleccionas previamente)

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 179
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

CONCATENAR una seleccion de celdas

Publicado por Quico (106 intervenciones) el 30/09/2019 00:21:52
Hola Héctor,

Estoy mirando de nuevo lo que me indicas, pero no me muestra los rangos que yo seleccione.
Siempre salen los del ejemplo: M12:M15,M18

Es indiferente que yo seleccione M7:M9 o M7:M200 ......siempre se me muestra M12:M15,M18
¿Cómo puedo solucionarlo?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 179
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

CONCATENAR una seleccion de celdas

Publicado por Quico (106 intervenciones) el 30/09/2019 06:36:04
Hola Hector,

Por el ejemplo nuevo que me envías, entiendo que en tú propuesta debes introducir manualmente el RANGO que deseas concatenar.
(Ej: C3:C6)

Lo que yo pretendía hacer en mi primer Excel desde el principio, era más automático y venia dado por la propia selección de celdas.
Por ese motivo, mi botón SELECCIÓN (rojo) pensaba que podía hacer la lectura de las celdas seleccionadas (click botón izquierdo mouse + Mayúsculas) y mostrarme directamente la concatenación 'Or' , que es la única que preciso para los datos de esa columna.

Mis otros botones estaban definidos para ofrecerme varios tipos de concatenación de todos los valores incluidos en la columna.

¿Qué es realmente lo que necesito?
- 3 botones que me hacen la lectura completa de 3 columnas diferentes
- 1 Botón SELECCION (rojo) que me hacer una concatenación 'Or' (siempre) de valores preseleccionados en la columna 'M'.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Héctor Madriz
Val: 575
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

CONCATENAR una seleccion de celdas

Publicado por Héctor Madriz (137 intervenciones) el 30/09/2019 18:53:30
Buen día Quico, prueba esto:

1
ConcatenarX(Range(Selection.Address), "Or", "*")

Adjunto ejemplo.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
3
Comentar
sin imagen de perfil
Val: 179
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

CONCATENAR una seleccion de celdas

Publicado por Quico (106 intervenciones) el 30/09/2019 23:38:17
¡¡Ahora sí!! :-)
Ahora si puede hacerlo con las celdas seleccionadas.
Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 179
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

CONCATENAR una seleccion de celdas

Publicado por Quico (106 intervenciones) el 03/10/2019 17:43:51
Hola.

He estado dándole vueltas a la cabeza al primer EXCEL que adjuste en este post.
La verdad es que en cierto modo cubre mejor lo que necesito. Claro que tu propuesta me va a servir como referencia para otra faena.

El caso es que tu propuesta de funcion CONCATENAR me parecía muy interesante e intentado adaptarlo pero sin éxito.

Esta es la macro que me enviaste:

Function ConcatenarX(Rango As Range, Cadena, Caracter) As String
Resultado = ""
For Each celda In Rango
If Trim(celda.Value) <> "" Then Resultado = Resultado & IIf(Resultado = "", "", " " & Cadena & " ") & Caracter & celda.Value & Caracter
Next celda
ConcatenarX = Resultado
End Function

He pensado que de 'Caracter' quizá pueda prescindir, y la 'Cadena' me servirá solo si pongo en 'or' (sin comillas)

Pensé entonces el preparar 3 macros adaptadas a 3 botones de mi excel original.
Podría entonces indicarle de dónde leer los datos.

Ejemplo: For Each celda In Range("M7:M150") '<--Aqui podría poner to el rango para cada cosa a busca.

Sin embargo no he conseguido que me ponga el OR.
Pensé que si le decía:

Cadena = "or" me sustituiría siempre Cadena por or.

Más o menos así:


Function Concatenar_OR (Rango As Range, Cadena) As String

Cadena = "or"
Resultado = ""
For Each celda In Range("M7:M150")
If Trim(celda.Value) <> "" Then Resultado = Resultado & IIf(Resultado = "", "", " " & Cadena & " ")
Next celda
Concatenar_OR = Resultado
End Function

¿Como he de hacerlo?

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------

LA ÚLTIMA PARTE era mi botón 'SELECCIÓN'. En tu propuesta, es maravilloso el 'Useform' al que le dices que de cualquier selección de la hoja, haga el CONCATENAR.

Lo que pasa es que he intentado hacer que mi botón 'SELECCIÓN' ya tenga a la vez el argumento: "De lo seleccionado [en qualquier parte de la hoja] me lo CONCATENAS con 'or'.

Quería ahorrarme el tener que marcar una casilla "Celdas seleccionados en la hoja activa' y luego CONCATENAR a partir de escribir algo en la Cadena.

¿Como puedo hacer que con solo apretar SELECCION de mi Useform incluya los seleccionado y concatenado con cadena=or?

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar