Cumplidas e Incumplidas

25/07/2007 - 22:59 por Jesús Peralta | Informe spam
Que tal Mestros y Amigos del Foro, saludos ante todo,..
Me podrian apoyar la mano con esto, tengo en la hoja llamada Resultados esta
tabla, como podria llevarme las Pte a otra hoja que se llama Incumplidas,
y Cumplio a otra hoja que se llama Cumplidas, no se si por medio de macro o
alguna Formula llame las las que Cumplio y Pte y asi, conforme vayan
Cumpliendo se vayana Cumplidas y las Pendientes a Incumplidas o si hay una
manera mejor de llevar este control, ya que son 150 instituciones las que se
le meten informacion y las leyendas Cumplio y Pte me aparecen en base a otro
archivo que se va llenando.
saludos y gracias de antemano


A B C D E F G
1 Region Poblacion Resultados Primer Trimestre 2007 Resultados Segundo
Trimestre 2007 Resultados Tercer Trimestre 2007 Resultados Cuarto Trimestre
2007
2 Caborca Agrupación George Papanicolaou de Caborca, I.A.P. Cumplio
Pte Pte Pte
3 Caborca Casa Hogar Pbro. Luis María Valencia,A.C. Cumplio Pte Pte
Pte
4 Caborca Centro de Integración para Drogadictos y Alcohólicos, A.C.
Caborca Cumplio Pte Pte Pte
5 Caborca Fundación Educativa y Cultural Don Bosco de Caborca, A.C.
Pte Pte Pte Pte
6 Caborca Familias con Propósitos en México, A.C. Cumplio Pte Pte Pte
7 Caborca Agrupación George Papanicolaou Puerto Peñasco, I.A.P.
Cumplio Pte Pte Pte
8 Caborca Casa Hogar "Esperanza para los Niños", I.A.P. Cumplio Pte
Pte Pte
9 Caborca Centro de Integración para Drogadictos y Alcohólicos, A.C.
Puerto Peñasco Cumplio Pte Pte Pte
10 Caborca Club de Leones de Caborca APIRC, A.C. Pte Pte Pte Pte
11 Caborca Club de Leones de Caborca, A.C. Cumplio Pte Pte Pte


Jesús Peralta
el_ultimo_profeta"alt+64"hotmail.com
Hermosillo, Sonora. Mexico

Preguntas similare

Leer las respuestas

#11 Albymar
27/07/2007 - 10:40 | Informe spam
Hola Hector, (tambien saludos a Jesús y a Ivan)

Este es un hilo que me interesa y despues de seguirlo y haber visitado el
enlace que expusiste ( http://tinyurl.com/yvpasr) he intentado aplicar tus
enseñanazas, pero me he "atrancado" y por eso pido ayuda al "profe" ...
Aplicando el codigo, a mis necesidades, que se expone en dicho enlace queda:

Sub Filtro_avanzado()
Dim Rango_lista As String
Application.ScreenUpdating = False
With Worksheets("General")
Rango_lista = .UsedRange.Address
For i = 2 To ThisWorkbook.Sheets.Count
.Range(Rango_lista).AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=Sheets(i).Range("H3:H4"), _
CopyToRange:=Sheets(i).Range("A6:I6")
Next
End With
End Sub

Mi problema esta en que: el .UsedRange de la tabla es "A1:K2625" y lo que
quiero filtrar es "A6:I2625", y este rango puede ir ampliandose con mas
filas.
Sinceramente, mis conocimientos en código, son limitados y con esto me he
atrancado, ¿podeis ayudarme?
Gracias de antemano a todos.
Respuesta Responder a este mensaje
#12 Ivan
27/07/2007 - 16:21 | Informe spam
hola Hector,

muchas gracias de nuevo por la confirmacion

no se si ya lo probaste ?,



la verdad es que no he tenido tiempo, aunque me imagino perfectamente su resultado.

de todas formas pensaba ponerme con ello, e intentar adaptar mi propuesta con el. <ademas tambien hay otra 'importante'
novedad para mi:=>>

Worksheets(Array( tal, tal , tal...)).

parece muy interesante. y estoy deseando meterle mano a ver que tal>

lo mismo vuelvo a mandar la adptacion para OP si veo que va bien, y en cualquier caso, si me surge algun problema te
comento

Un saludo y hasta pronto
Ivan
Respuesta Responder a este mensaje
#13 Jesús Peralta
27/07/2007 - 18:48 | Informe spam
Que tal Hector Miguel,..
:-( [finalmente]: mucho te he de agradecer si *me quitas de encima* al Sr.
y al Maestro *usted*] :))
.. Amigo, los titulos que le pongo es por mucho respeto que le tengo por la
enseñanza que nos da aqui, y pues bueno aparte me gusta tratar a la gente
de,.. Por ser una persona que nos apoya desinteresadamente en facilitar
nuestros trabajos y cual mejor manera de llamarlo asi,... Pues bueno, de hoy
en adelante, le llamare Amigo. Espero con todo respeto me permita llamarlo
asi. :D

Sobre lo que respecta a la ayuda que me brinda usted e Ivan, analizando
bien me parece que duplicaria informacion en las 4 hojas, pudiendo verlas en
una sola,
se me hizo facil solcitar la separacion y decidi seguir visualizandola asi..

Gracias por su colaboracion


Jesús Peralta
el_ultimo_profeta"alt+64"hotmail.com
Hermosillo, Sonora. Mexico
"Héctor Miguel" escribió en el mensaje
news:uIoqRG$
hola, Jesús !

[creo que] solo falta que aclares ligeros detalles [pero pudieran ser los
que hagan la diferencia] -?-

considerando las 5 posibles variantes en cuanto a cumplio=SI y/o
pendiente=NO:
registros - trim_1 - trim_2 - trim_3 - trim_4
registro 1 NO NO NO NO
registro 2 SI NO NO NO
registro 3 SI SI NO NO
registro 4 SI SI SI NO
registro 5 SI SI SI SI

-> cual/es de los registros anteriores mandas a la hoja "Cumplidas" y
cual/es a la hoja "Incumplidas" ?re

comentas [si hubiera] algun detalle en el tintero ?
saludos,
hector.

[finalmente]: mucho te he de agradecer si *me quitas de encima* al Sr. y
al Maestro [y de pasadita, tambien al *usted*] :))
[que yo sepa]... El Señor esta en los Cielos... y El Maestro es su Hijo
[ponlo bajo el contexto de tu preferencia] ;)
[ademas] *Maestro* solamente es [para mi]... aquel que es capaz de lograr
que sus *discipulos* den lo mejor de si... y mas
por lo que respecta al ultimo punto... honestamente... [*usted*] siempre
me ha caido *gordo* [el termino... ok ?] :D

__ la consulta original __
Hice las pruebas con lo que me recomendo... Ivan
... repedia el encabezado y me enviaba a depurar el punto With
Worksheets(Hoja_2): .Columns.Clear
pero sobre los datos de Cumplio y Pte no me pasaba alguno a las hojas que
nombre como Cumplidas e Incumplidas
solamente el encabezado que, perdon a la mejor teclee mal se empieza con
C2 y termina con F2
que es el rango donde cambian y de A1:B1 contienen los datos de las
instituciones por ejemplo
A1 Region
B1 Poblacion
C1 Resultados Primer Trimestre 2007
D1 Resultados Segundo Trimestre 2007
E1 Resultados Tercer Trimestre 2007
F1 Resultados Cuarto Trimestre 2007
Y los datos del Rango van desde A2:F160
O quizas algo estoy haciendo mal con el codigo de Ivan, pero si me
gustaria tener los datos en dos hojas
o como mensiona... Hector... en 4 hojas Entre a su vinculo y pues me
parecio muy buena la idea la que elaboro ahi
pero pues no le agarre muy bien la eleboracion...




Respuesta Responder a este mensaje
#14 Ivan
27/07/2007 - 18:59 | Informe spam
hola Jesus,

a la espera de que contestes las dudas que te plantea Hector, y su (probable) posterior propuesta, te comento:

el codigo que te mande, si has seguido correctamente las indicaciones que te daba en teoria no deberia tener problemas y
te copiaba en las 6 hojas mencionadas (intenta releer el mensaje con calma) un resumen con todos los que tenian algun
Pte, otra con los que tenian 'todo' cumplido, y una por trimestre con los que tenian ese trimestre Pte. (aunque si no
has adaptado el cambio de rango de "d:g" a "c:f" sera 'dificil' que marche correctamente.

de todas formas me he animado a hacer unas pruebas con la propuesta de Hector y si quieres (y, estoy seguro, con su
permiso) puedes probarla, pero asegurate de seguir las instrucciones que te doy a continuacion al pie de la letra (una
vez que veas su funcionamiento, podemos ver de adaptarla a las condiciones concretas de tu archivo), aunque seguro que
Hector nos vuelve a sorprender con otra de sus 'maravillas'.

REQUISITOS para la prueba:

1º) crea un nuevo libro, y en este libro:

a) copia/pega en la primera hoja tu listado general y ponla el nombre de 'Resultados'. En la 1ª fila y
empezando en la columna A deben ir los titulos y los datos empezar en la fila 2. Esta adaptado para los nuevos rangos
que expones (Resultados de la columna C a la F)

b) inserta hojas hasta tener un total de 6 ('Resultados' mas 5). Coloca estas hojas por orden, es decir, la 1ª
Hoja1, la 2ª hoja2,etc. (La de 'Resultados' puedes ponerla al principio o al final o donde prefieras, pero el resto si
debe ir por orden.

c) una vez ordenadas las hojas, ponles los siguientes nombres por orden y asegurandote de ponerlo exactamente
como te lo pongo:
Pte_Trim_1, Pte_Trim_2, Pte_Trim_3, Pte_Trim_4 y a la ultima Cumplio_Todos

d) copia pega todo estel codigo desde hasta donde te indico en un nuevo modulo normal de este nuevo libro y al
ejecutar el codigo (de la forma que prefieras (pej. con F5 desde el editor para ver los resultados aunque luego se lo
asignes a un boton o a lo que quieras)) asegurate de que ese libro es el activo (mejor si puedes cerrar todos los demas
y dejar solo ese abierto). OJO: ten cuidado con los posibles trunques de las lineas en el editor del foro.

'' Copia desde aqui --
Sub Filtrar_Pendientes_2()
Dim Rango_Resultados As String, Hoja_Estado As Worksheet, _
n As Byte, Trimestre As Integer
Application.ScreenUpdating = False
With Worksheets("Resultados")
n = 1: Trimestre = Int((CLng(Format(Date, "yy")) + 2) / 3)
For Each Hoja_Estado In Worksheets(Array("Pte_Trim_1", _
"Pte_Trim_2", "Pte_Trim_3", "Pte_Trim_4"))
Rango_Resultados = .Range(.Cells(1, 1), _
.Cells(.[a65536].End(xlUp).Row, n + 2)).Address(0, 0)
Hoja_Estado.Range("a1") = .Cells(1, 2 + n)
Hoja_Estado.Range("a2") = "Pte"
.Range(Rango_Resultados).AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=Hoja_Estado.Range("a1:a2"), _
CopyToRange:=Hoja_Estado.Range("a" & 4 & _
Mid(Rango_Resultados, 3, 2) & 4)
If n = Trimestre Then
With Worksheets("Cumplio_Todos")
.Columns.Clear
.Range("a1") = Worksheets("Resultados").Cells(1, 2 + n)
.Range("a2") = "Cumplio"
Worksheets("Resultados").Range(Rango_Resultados).AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=.Range("a1:a2"), _
CopyToRange:=.Range("a" & 4 & Mid(Rango_Resultados, 3, 2) & 4)
End With
End If
n = n + 1
Next
End With
End Sub
''hasta aqui -


2º) si has seguido a pies juntillas todas estas indicaciones y vuelve a no funcionarte, comentas que nº y descripcion de
error te da

un saludo y hasta pronto
Ivan

PD: disculpas para Hector si he podido cometer algun 'destrozo' con su codigo
Respuesta Responder a este mensaje
#15 Ivan
27/07/2007 - 19:36 | Informe spam
hola Jesus, disculpame por pesado, pero aqui va una ultima propuesta para las hojas tal y como las planteabas en tu
consulta original ("Resultados","Cumplidas" e "Incumplidas")

lo unico asegurate de que los titulos empiecen en A1, los datos en A2 y de la c a la f esten los Ptes/Cumplidos

eso si, solo te devuelve hasta el trimestre en curso, incluido

un saludo y si quieres comentas como te va (prueba con copias)

lo dicho, disculpame por pesado, pero para mi es una especie ejercicio, y ya que esta pues si te puede servir pues mejor

un saludo
Ivan

este es el nuevo codigo:

Sub Filtrar_Pendientes_4()
Dim Rango_Resultados As String, Hoja_Estado As Worksheet, _
n As Byte, Trimestre As Integer, Estado As String
Application.ScreenUpdating = False
Trimestre = Int((CLng(Format(Date, "yy")) + 2) / 3)
n = Trimestre + 2
With Worksheets("Resultados")
Rango_Resultados = .Range(.Cells(1, 1), _
.Cells(.[a65536].End(xlUp).Row, n)).Address(0, 0)
For Each Hoja_Estado In Worksheets(Array("Cumplidas", "Incumplidas"))
With Hoja_Estado
If .Name = "Cumplidas" Then Estado = "Cumplio" Else Estado = "Pte"
' aunque se sobreescriben los rangos copiados via xlfiltercopy,
' para evitar conflictos que no se si podrian surgir al cambiar
' de trimestres borramos todo el contenido de la hoja
.Columns.Clear
.Range("a1") = Worksheets("Resultados").Cells(1, n)
.Range("a2") = Estado
Worksheets("Resultados").Range(Rango_Resultados).AdvancedFilter _
Action:=xlFilterCopy, _
CriteriaRange:=.Range("a1:a2"), _
CopyToRange:=.Range("a4:" & Mid(Rango_Resultados, 4, 1) & 4)
.Columns.AutoFit
End With
Next
End With
End Sub
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida