Crear una cadena con varios datos, de celdas y prefijos

Buenas tardes y gracias de antemano.
Soy bastante novato en Excel (2007), y me encuentro con que tengo un problema que solventar cuanto antes.
Es éste:Dispongo de una tabla con unos identificativos (1 al 50, en principio, en las
columnas
O,P,Q,R,S y sucesivas), que pueden estar o no en todas ellas, es decir,
las celdas pueden alternar entre aquellas con o sin datos.
Pues bien, sin que sean modificadas, hay que anteponerles un prefijo (AUX-), y un sufijo (-EM01) a cada una de ellas, y una vez los tengan añadidos, deben componer una
cadena
en el orden creciente desde el Identificativo 1 al Identificativo 50,
estando en la cadena separados por una coma entre ellos, y esta cadena
debe aparecer en la
celda que corresponda a su fila, de la columna N.
Nota: Por aclarar mi pregunta he añadido esta imagen
http://www.subeimagenes.com/img/problema-concatenaci%C3%B3n-553169.html
en la que le indico las posiciones de las celdas (sólo indico 5 identificativos
pero pueden ser hasta 50). Indico la columna en la que debe aparecer la
cadena con la información.
Gracias mil.

Respuesta
1

No sé si he entendido bien lo que preguntas, pero entiendo que quieres concatenar una serie de celdas omitiendo las celdas vacías y con el indicador de columna como EM1, EM2,... EM50.

Si es esto pega este código en Visual Basic (alt+F11).

Una vez que entras en VBA (visual basic) a la izquierda tienes la ventana de proyecto, pinchando con el botón derecho sobre VBAProject("el nombre de tu libro") le das a insertar y posteriormente a módulo. A la derecha se te abrirá una ventanita en la que debes pegar el siguiente código:

Function ConcatenaNoVacios(Rng As Range)
Dim CurCell As Object
contador = 1
For Each CurCell In Rng
If CurCell.Value <> "" Then
cadena = cadena & "AUX-" & CurCell.Value & "-EM" & contador & ","
End If
contador = contador + 1
Next
longitud = Len(cadena)
ConcatenaNoVacios = Left(cadena, longitud - 1)
End Function

Este código lo que hace es determinar si la celda está vacía o no y crea una cadena.

OJO! Esto es una función, para que funcione tienes que meter el nombre de la función (ConcatenaNoVacios) en la celda N correspondiente. Por ejemplo:

En la celda N2 escribes ---> =ConcatenaNoVacios(O2:BL2)

Es como si fuera una función más del excel...

Espero que te sirva, si tienes alguna duda ya sabes..

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas