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

#6 Francisco Durante
31/01/2007 - 18:06 | Informe spam
Ok!
gracias Ivan, la verdad es que prefiero hacerlo por código, mas que nada
para dejar la aplicación libre de fórmulas y de paso me pongo al día
tecleando código ;-)
Salu2!.

"Ivan" escribió en el mensaje
news:uhAA7$
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



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida