Código Visual basic

Hola,

Necesitaría que me dijeseis cual es el código de Visual Basic para hacer lo siguiente:

En las columna A tengo lo siguiente

A1= Ela María

A2=""

A3=""

A4= Ela Nerea

A5=""

A6=""

A7= Ela Sonia

Me gustaría que a través de una Macro en la Columna B apareciese lo siguiente

B1=María

B2=María

B3=María

B4=Nerea

B5=Nerea

B6=Nerea

B7=Sonia

Es decir que en la columna B aparezca el nombre que hay en la A hasta que aparezca un nuevo nombre

Alguien sabe como hacerlo?

Muchas gracias

1 respuesta

Respuesta
1

¿También tenemos que prescindir de la palabra Ela?

Si, hay que prescindir de la palabra Ela.

Gracias

Ok, te mando mi solución, sigue mis pasos:

-En la celda B1, por ser la primera ponemos a mano el nombre: María

-En la celda B2 escribe esta fórmula y luego la arrastras hacia abajo hasta donde quieras:

=SI(A2="";B1;DERECHA(A2;LARGO(A2)-HALLAR(" ";A2)))

recuerda finalizar la consulta

Pero para que me salgan los diferentes nombres tengo que poner a mano en cada celda que cambia de nombre el nombre...

Hay alguna forma de que se pueda hacer todo automático?

Muchas gracias

Creo no me he explicado bien:

Lo ÚNICO que tienes que poner a mano es el primer nombre. Después pondrás la fórmula en la celda B2, la arrastrarás hacia abajo y ya está, trabajo terminado.

Muchas gracias, funciona!!!

Lo único que me ha surgido otra duda... No sé si podrás resolvérmela... Imagínate que entre las celdas de las que saco el nombre hay otros textos que no necesito...

A1= Ela María
A2=""
A3=""
A4= Ela Nerea
A5= Hola
A6=""
A7= Ela Sonia

Hay alguna fórmula para que en la celda B5 en vez de ponerme Hola ponga Nerea?

Muchas gracias de todos modos!!!

Esta sería la solución:

-Recuerda que en B1 (y solo esta vez) pondremos a mano el primer nombre.

-Después tienes que poner esta fórmula en la celda B2 y luego la arrastras hacia abajo:

=SI(O(A2="";IZQUIERDA(A2;3)<>"ela");B1;DERECHA(A2;LARGO(A2)-HALLAR(" ";A2)))

recuerda finalizar la pregunta

He probado la formula y sí que sale!

De todos modos he incluido alguna cosa nueva y no consigo que funcione del todo bien... Le vuelvo a dar unas vueltas y mañana te digo porqué no me sale...

Muchas gracias!!!

Hola,

He estado probando a meter una condición más y no consigo que termine de funcionar bien la formula... He introducido nuevos datos en la columna B y quiero que la fórmula que me has dado solo me devuelva el resultado si hay algo en la columna B. Entonces sería:

A1= Ela María B1= ""
A2="" B2= mes
A3="" B3= ""
A4= Ela Nerea B4= semana
A5= Hola B5=""
A6="" B6=día
A7= Ela Sonia B7=""

He introducido la formula en la columna C (que es donde quiero que me de el resultado ahora) y le he añadido otra condición al principio:

=SI(B2<>""; "Tu fórmula";"")

Entonces claro, por ejemplo en la celda C6 no me aparece nada, porque como se cumple que en la celda A6 no hay nada, me da el resultado de la celda C5, que está vacío porque en la celda B5 no hay nada y por tanto no quiero que en la celda C5 me ponga nada.... He probado a cambiar en tu formula la función O por la función Y pero no consigo que me salga... No sé si tu puedes darme una solución mejor.

Muchas gracias

Perdona, pero entonces como quedaría la columna C, escríbemela a mano

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas