SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => VBA => Mensaje iniciado por: dagados en Martes 23 de Septiembre de 2008, 16:56

Título: algoritmo correcto
Publicado por: dagados en Martes 23 de Septiembre de 2008, 16:56
A ver la idea es la siguiente:
Tabla de descuentos
---------------------------------------
Numero de alunmos |Numero Asignaturas
---------------------------------------
1                          | 2
1                           |3
2                           |2                  
2                            |3
2                            |4
Tabla de datos
---------------------------------------------------------
Alunmo |Codigo Asignatura
----------------------------------------------------------

Pedro Martinez Perez|                              23
Pedro Martinez Perez |                             12
Antonio Hernander Canovas|                    12
MAria Lopez Garcia            |                    05

La historia consiste en que cada vez que ingrese un registro en la tabla de datos , busque si se cumple algna de las condiciones de la tabla de descuentos. Cada alunmo puede estar apuntado a una o varias asignaturas. En el ejemplo podriamos aplicarle las ofertas siguientes:
1 alunmo --> 2 asignaturas
2 alunmos --> 2 asignaturas
2 alunmos --> 3 asignaturas
Me gustaria , que se mostraran todas las posibles ofertas y al pinchar sobre una de ellas me mostrara en color las lineas que coinciden con la oferta.
Espero vuestra ayuda gracias de antemano.
Título: Re: algoritmo correcto
Publicado por: m0skit0 en Miércoles 24 de Septiembre de 2008, 10:31
Para ejecutar una macro VBA cuando se modifique un libro, tienes el siguiente evento:

Código: Visual Basic
  1.  
  2. Private Sub Workbook_Change(ByVal Target As Range)
  3.  
  4.  

Para cuando se modifique una hoja:

Código: Visual Basic
  1.  
  2. Private Sub Worksheet_Change(ByVal Target As Range)
  3.  
  4.  

donde Target es un registro con varios valores con información sobre qué ha cambiado (por ejemplo Target.Column o Target.Row te darán la columna o fila de la celda modificada.

Como no he comprendido muy bien tu ejemplo, ahí lo dejo.