el pseudocodigo va mas o menos asi.
- Código: Seleccionar todo
Sub MiMacro()
dim datos as integer /*son los datos a filtrar van del 001 al 113, aunque puede variar el maximo, por eso necesito otra funcion para ver el maximo*/
dim total as integer /*son aproximadamente 515 filas con datos, pero necesito una funcion que me permita conocer el total de datos, ya que pueden variar*/
dim fila as integer //lo uso para controlar la fila en la que voy comparando
total = Contar() //en el libro se pone =CONTAR(A:A) solo que en codigo no sé
For datos = 1 to ContarZona()//son las variables que quiero encontrar
For fila = 6 to (total +6) //lo hago así por que los datos empiezan en la fila 6
Sheets("Hoja1").Select
IF range((("G" + fila) OR range("H" + fila ) )OR range("I" + fila)) = datos Then
/*no se si sea correcto usar G + fila, lo que deseo es que el valor de la string sea G6 y luego G7 y G8, igual que H6 H7 H8 e I6 I7 I8 .... hasta que encuentre una celda vacia o hasta una variable de control*/
Rows(fila:fila).Select
Selection.Copy
Sheets("Hoja2").Select
Rows(fila:fila).Select
ActiveSheet.paste
End IF
Next /*no se si es correcto manejar el Next para el For de esta manera, lo que pretendo es que aumente el valor de fila en 1 */
Next //otra vez igual que el anterior
End Sub
Sub MaxZona()
//quiero saber el maximo de las zonas, como esta en la hoja de calculo =MAX(G:I)
Sub Contar()
//Aqui no se que hacer para que cuente como lo mencione anteriormente
End Sub
lo que busco con este script es haer que de una hoja que contiene datos numericos en tres colmnas, me busque el dato requerido, emepzando por el 001, hasta el ultimo dato que sería el 113 y si lo encuentra, que me copie toda la fila en la hoja2, para que queden ordenados todos los que solicitan la 001, todos los que solicitan la 002 ... hasta la 113, dejo adjunto la hoja de excel para que se den una idea
Gracias




