Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Visual Basic y Excel

Estas en el tema de Visual Basic y Excel en el foro de Visual Basic clásico en Foros del Web. Tengo libro en excel y tiene varias hojas. Quisiera seleccionar de una columna donde hay una serie de codigos. Aquellos codigos los cuales estuvieran comprendidos ...
  #1 (permalink)  
Antiguo 16/10/2004, 16:51
 
Fecha de Ingreso: mayo-2004
Mensajes: 12
Antigüedad: 20 años
Puntos: 0
Visual Basic y Excel

Tengo libro en excel y tiene varias hojas. Quisiera seleccionar de una columna donde hay una serie de codigos. Aquellos codigos los cuales estuvieran comprendidos entre el 40000 y 49999 y tambien los que estuvieran entrre el 60000 y 69999.

Que se me selecionaran de alguna forma para luego poder dar al boton dcho del raton y pegar todos esos posibles registros en una hoja en excel vacia o en un archivo en word.

Me imagino que se hara con Visual Basic for aplications. Alguien me podria dar alguna idea o codigo para hacer mas o menos esto.

Colum1 Colum2 Colum3 Colum 4
111222 42356 Ingresos mixtos 26/10/2004
343223 56789 Ingesos multiples 16/10/2004
342244 46422 Gastos variables 12/10/2004
242444 63248 Varios 26/10/2004

En este caso se me tendrian que selecionar (es la columna 2 la que tengo que mirar), el primer, tercer y cuarto registro. Me interesa seleccionar tambien lo que hubiera en la columna3 y columna4 de dicho registro. Es decir toda la fila.

Gracias

OSCAR
[email][email protected]
  #2 (permalink)  
Antiguo 18/10/2004, 14:23
 
Fecha de Ingreso: mayo-2004
Ubicación: Cubil Felino
Mensajes: 10
Antigüedad: 20 años
Puntos: 0
De acuerdo

Mira, yop acabo de hacer lo q estas pidiendo en un libro de excel, tienes q tener activada "barra de herramientas --> Cuadro de control" para poder acceder a colocar un boton en la hoja, luego haces doble click en el boton y pegas el sigte codigo....

Código:
'--Esto genera el numero de registros a comparar------
For i = 1 To 1000
   If Cells(i, 1).Value <> "" Then
      contador = contador + 1
   Else
      i = 1000
   End If
Next
h1 = 1
h2 = 1
'acá es donde comenzarà la busqueda -------------------
For y = 1 To contador
   aux = Cells(y, 2)  '--recupera el valor a consultar-----
   If aux >= 40000 And aux <= 49999 Then
      MsgBox "entre 40000 y 49999" + Chr(13) + "el valor es: " & aux '-se puede dejar en comentario
      '--Aca la codificacion para poder pegar en otra hoja el resulado-----
      '--En la Hoja 2 va a dejar los valores comprendidos entre 40000 y 49999 --------
      Worksheets("Hoja2").Cells(h1, 1) = Cells(y, 1).Value
      Worksheets("Hoja2").Cells(h1, 2) = Cells(y, 2).Value
      Worksheets("Hoja2").Cells(h1, 3) = Cells(y, 3).Value
      Worksheets("Hoja2").Cells(h1, 4) = Cells(y, 4).Value
      h1 = h1 + 1
   ElseIf aux >= 60000 And aux <= 69999 Then
      MsgBox "entre 60000 y 69999" + Chr(13) + "el valor es: " & aux  '--se puede dejar en comentario
      '--Aca la codificacion para poder pegar en otra hoja el resulado----------------
      '--En la Hoja 3 va a dejar los valores comprendidos entre 60000 y 69999 --------
      Worksheets("Hoja3").Cells(h2, 1) = Cells(y, 1).Value
      Worksheets("Hoja3").Cells(h2, 2) = Cells(y, 2).Value
      Worksheets("Hoja3").Cells(h2, 3) = Cells(y, 3).Value
      Worksheets("Hoja3").Cells(h2, 4) = Cells(y, 4).Value
      h2 = h2 + 1
   End If
Next
MsgBox "Termino"
como lo explico con comentarios lo q hace esto es verificar el valor q estas ingresando y compararlo, si cae en las condiciones q estas dando esta codificacion lleva la informacion de la linea completa a otra oja, dependiendo de la condicion q presente verdadero (en este caso Hoja2 entre 40000-49999, Hoja3 entre 60000-69999)

espero te sirva, ya q esta 100% mas q comprobado, en todo kso cualquier cosa comunicas y te ayudamos.....

  #3 (permalink)  
Antiguo 18/10/2004, 15:20
 
Fecha de Ingreso: mayo-2004
Mensajes: 12
Antigüedad: 20 años
Puntos: 0
.

Muchas gracias por tu ayuda me ha servido de mucho.
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 22:01.