Foros del Web » Soporte técnico » Ofimática »

buscar guardar con 2 o mas condiciones

Estas en el tema de buscar guardar con 2 o mas condiciones en el foro de Ofimática en Foros del Web. hola amigos, tengo dos hojas en excell , en una la informacion de cada alumno por columna y con sus notas ejemplo: columna a1 nombre, ...
  #1 (permalink)  
Antiguo 25/10/2010, 09:14
 
Fecha de Ingreso: octubre-2010
Mensajes: 1
Antigüedad: 14 años
Puntos: 0
Busqueda buscar guardar con 2 o mas condiciones

hola amigos, tengo dos hojas en excell , en una la informacion de cada alumno por columna y con sus notas ejemplo: columna a1 nombre, b1 asignatura, c1 curso, d1 nota1, necesito algun codigo de excel macro vb para que en la hoja1 yo pueda poner curso y asignatura y me muestre los datos de los alumnos con sus notas que posean la asignatura y el curso que deseo, yo intente hacer este codigo pero algo anda mal xD


Sub buscar_datos()
Dim numero As Integer, curso As String, asignatura As String, rut As String, n1 As Integer

numero = Range("a1").Value
curso = Range("b338").Value
rut = Range("d338").Value
asignatura = Range("b339").Value

Sheets("control").Select
Range("as43").Select
Do While ActiveCell.Value <> Empty

If ActiveCell.Value = curso Then

Range("as44").Select
Do While ActiveCell.Value <> Empty

If ActiveCell.Value = asignatura Then
ActiveCell.Offset(0, 45).Select
ActiveCell.Offset(0, 46).Select
n1 = ActiveCell.Value
n2 = ActiveCell.Value

Sheets("Partes").Select
Range("a343").Select
Do While ActiveCell <> Empty
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = numero
ActiveCell.Offset(0, 1).Value = rut
ActiveCell.Offset(0, 2).Value = nombre
ActiveCell.Offset(0, 3).Value = asignatura
ActiveCell.Offset(0, 4).Value = curso
ActiveCell.Offset(0, 5).Value = n1
ActiveCell.Offset(0, 6).Value = n2
End If
End If
Exit Sub

End Sub
  #2 (permalink)  
Antiguo 26/10/2010, 09:08
Avatar de Monimo  
Fecha de Ingreso: noviembre-2007
Ubicación: Mexico Df
Mensajes: 742
Antigüedad: 17 años
Puntos: 69
Respuesta: buscar guardar con 2 o mas condiciones

Me parece que tu problema esta en usar el ActiveCell.Offset por ejemplo aquí:

ActiveCell.Offset(0, 45).Select
ActiveCell.Offset(0, 46).Select
n1 = ActiveCell.Value
n2 = ActiveCell.Value

A n1 y a n2 le estas asignando el mismo valor:


ActiveCell.Offset(0, 46).Select, ya que esa es la última celda que le ordenaste que seleccionara esa ES TU ACTIVECELL. Creo que no deberías usar el activecell offset, además no entiendo si siempre busacará en el mismo renglón los datos... o es una búsqueda dinámica. Es decir si debería recorrer cada renglón porque nada más no veo donde avance leyendo renglones o algo asi para buscar, o por lo menos haga un cells.find...
__________________
La verdad es que lo que no quisiera dejar de hacer nunca (a parte de comer) es programar

Etiquetas: condiciones, mas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:15.