Código para comparar valores

29/01/2007 - 18:21 por Francisco Durante | Informe spam
Buenas tardes grupo!
En una hoja de Excel tengo 2 columnas: A con una lista de números y B con
textos descriptivos de dichos números.
En otra hoja del mismo libro, en una columna predefinida, eligo de la lista
desplegable uno de los números de la otra hoja y deseo que en la columna
consecutiva me muestre la descripción correspondiente de dicho número.
Lo que desearía es que esto se produjese de forma automática. Para ello,
tengo pensado establecer el evento SelectionChange y que mediante la
propiedad ActiveCell, el valor almacenado en dicha celda se busque en la
lista de números y automáticamente muestre su descripción.

Lo único que he conseguido por el momento es hacer una comparacion con IF
elemento a elemento, pero la lista tiene 546 celdas y sería una burrada
escribir todo eso :-(

Gracias
Salu2!.

Preguntas similare

Leer las respuestas

#1 Abraham
29/01/2007 - 20:16 | Informe spam
Usa BUSCARV. no es necesario que uses macros.

Abraham
Respuesta Responder a este mensaje
#2 Ivan
29/01/2007 - 21:42 | Informe spam
hola Francisco,

en una columna predefinida, eligo de la lista desplegable uno de los
números de la otra hoja y deseo que en la columna consecutiva me muestre la
descripción correspondiente de dicho número



no queda muy claro (al menos a mi) que es lo que quieres hacer exactamente,
ni como es lo que ya tienes hecho.
Si no te importa, te pongo algunas dudas. Cuantas mas nos aclares creo que
sera mas facil ayudarte.

a).-¿con columna predefinida te refieres a la columna en la que quieres
depositar los datos, o es que tienes una lista deplegable en cada celda de
esa columna?

b).-¿la/¿las? lista desplegable de donde es: de la 'Barra formularios' o de
'Cuadro de controles'? y ¿como la llenas?

c).-¿quieres que se muestre la descripcion del nº elegido siempre en la
misma celda, o ir llenando la columna con los sucesivos nros elegidos en la
lista?

d).- cualquier otro dato que pienses pueda ayudar a darte una respuesta
adecuada

en funcion de estas dudas (y al menos en mi caso) creo que existen bastantes
posibilidades para efectuar lo que buscas. Desde, como dice Abraham, usar
BuscarV, hasta ..

espero no te moleste este mensaje, y, un saludo y hasta pronto
Ivan
Respuesta Responder a este mensaje
#3 Francisco Durante
30/01/2007 - 10:00 | Informe spam
"Ivan" escribió en el mensaje
news:uXn5zX%
hola Francisco,

en una columna predefinida, eligo de la lista desplegable uno de los
números de la otra hoja y deseo que en la columna consecutiva me muestre
la descripción correspondiente de dicho número



no queda muy claro (al menos a mi) que es lo que quieres hacer
exactamente, ni como es lo que ya tienes hecho.
Si no te importa, te pongo algunas dudas. Cuantas mas nos aclares creo que
sera mas facil ayudarte.

a).-¿con columna predefinida te refieres a la columna en la que quieres
depositar los datos, o es que tienes una lista deplegable en cada celda de
esa columna?



Cada celda del rango B5:B35 tiene una lista desplegable.

b).-¿la/¿las? lista desplegable de donde es: de la 'Barra formularios' o
de 'Cuadro de controles'? y ¿como la llenas?



Los datos se encuentan en otra hoja, concretamente en el rango A1:A546. Es
una lista simple, no tulizo controles ni formularios.
La lista por ahora es estática, aunque si se amplia será de forma manual
añadiendo mas celdas al rango.

c).-¿quieres que se muestre la descripcion del nº elegido siempre en la
misma celda, o ir llenando la columna con los sucesivos nros elegidos en
la lista?



Cualquiera de las dos opciones me vale...
Al abrir la hoja, el rango B5:B35 estará vacío. Cada celda de ese rango
contiene una lista desplegable. No tiene porqué llenarse todo el rango, una
vez puedo utilizar 3 celdas de ese rango y otra vez distinta utilizar 10. Lo
que busco es que la celda que si contenga valor dentro de ese rango, muestre
en la de al lado (que sería el rango C5:C35) su descripción.

d).- cualquier otro dato que pienses pueda ayudar a darte una respuesta
adecuada

en funcion de estas dudas (y al menos en mi caso) creo que existen
bastantes posibilidades para efectuar lo que buscas. Desde, como dice
Abraham, usar BuscarV, hasta ..



Voy a probar con la función BUSCARV tal como comenta Abraham ...

espero no te moleste este mensaje, y, un saludo y hasta pronto
Ivan



Molestar?? en absoluto ;-) siempre agradecido a vuestros comentarios
desinteresados.
Salu2!.
Respuesta Responder a este mensaje
#4 Francisco Durante
30/01/2007 - 13:12 | Informe spam
Ya está solucionado con BUSCARV.
Muchas gracias a todos por la ayuda prestada.

Salu2!.

"Francisco Durante" escribió en el mensaje
news:
Buenas tardes grupo!
En una hoja de Excel tengo 2 columnas: A con una lista de números y B con
textos descriptivos de dichos números.
En otra hoja del mismo libro, en una columna predefinida, eligo de la
lista desplegable uno de los números de la otra hoja y deseo que en la
columna consecutiva me muestre la descripción correspondiente de dicho
número.
Lo que desearía es que esto se produjese de forma automática. Para ello,
tengo pensado establecer el evento SelectionChange y que mediante la
propiedad ActiveCell, el valor almacenado en dicha celda se busque en la
lista de números y automáticamente muestre su descripción.

Lo único que he conseguido por el momento es hacer una comparacion con IF
elemento a elemento, pero la lista tiene 546 celdas y sería una burrada
escribir todo eso :-(

Gracias
Salu2!.



Respuesta Responder a este mensaje
#5 Ivan
30/01/2007 - 16:04 | Informe spam
hola Francisco

por si algun dia te decides por las macros, podrias hacer algo parecido a
esto ->

.-si las listas desplegables le has asignado el rango de entrada A1:A546
de la hoja correspondiente

.- cada lista desplegable la has vinculado con su celda (B5:B35) y esta
celda es la activa en el momento de desplegar la lista

con el boton derecho puedes asignar esta macro a cada lista desplegable
(que, a pesar de tus palabras, supongo que sera de la barra de herramientas
"Formularios" [no tiene nada(o casi) que ver con los formularios])

Por si no supieras como, tr lo explico->

1º abres el editor de VBA (bien -> menu 'Herramientas' -> 'Macros' ->'Editor
de Visual Basic', o bien directamente con 'Alt+F11' ). En el menu 'Insertar'
insertas un 'Modulo' (no un 'Modulo de clase') y en la hoja en blanco que te
aparece copias/pegas este codigo.. Cierras el editor.
2º con el boton derecho haces clic en cada lista desplegable -> 'Asignar
macro' -> en la ventana que aparece eliges 'DatoContiguo' -> aceptas y ya
puedes probar. Solo asegurate de que la celda activa es la que tiene
vinculad la celda.

Sub DatoContiguo()
Dim fila As Long
With ActiveCell
fila = .Value
.Offset(, 1) = Worksheets("Hoja2").Cells(fila, 2)
End With
End Sub

un saludo
Ivan
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida